注目★★★★★GitHub Advisory
mchange-commons-java に JNDI インジェクションと逆シリアライズ脆弱性、任意コード実行の恐れ
30秒で把握
- 1mchange-commons-java 0.5.0 未満が JNDI インジェクション・逆シリアライズ脆弱性を有し任意コード実行リスク
- 2JavaBean プロパティ操作と BinaryRefAddress 解釈により、ガジェットチェーン経由でリモートからコード実行可能
- 3影響範囲は JDK 16 未満・commons-beanutils/commons-collections 同梱環境。バージョン 0.6.0 以降へ緊急アップグレード必須
要約
mchange-commons-java は JNDI ObjectFactory を通じて任意クラスのオブジェクト生成と JavaBean プロパティ初期化が可能であり、不正な JNDI Reference オブジェクトの挿入で信頼ドメイン内から任意 URL への HTTP GET を引き起こせる。バージョン 0.5.0 より前では BinaryRefAddress を Java シリアライズオブジェクトとして解釈し逆シリアライズするため、commons-beanutils・commons-collections など他ライブラリの既知ガジェットチェーンを経由した悪意あるコード実行が可能。バージョン 0.6.0 以降で修正済みだが、該当バージョンを使用する場合は即時アップグレードを推奨。
あなたへの影響
mchange-commons-java を依存関係に含むプロジェクト (特に JDK 16 未満・Apache commons-beanutils/commons-collections を併用する環境) は、即座に 0.6.0 以降へのアップグレード検証と本番環境への適用を進めるべき。
推奨:既存アプリケーションの依存関係を gradle dependencies / mvn dependency:tree で確認し、バージョン 0.5.x 以前の存在を検査すること。