CVE-2024-52046 (CVSS 10): Critical Apache MINA Flaw Could Allow Remote Code Execution
2024/12/25 SecurityOnline — 人気のネットワーク・アプリケーション・フレームワーク Apache MINA に、深刻な脆弱性 CVE-2024-52046 (CVSS 10.0) が発見された。この脆弱性を悪用する攻撃者は、脆弱なシステム上で任意のコード実行の可能性を得るため、早急なパッチ適用が最優先事項となる。

Apache MINA は、高性能で拡張性の高いネットワーク・アプリケーションの構築において、広く使用される TCP/IP や UDP/IP などのトランスポート上のネットワーク・プログラミングを簡素化する、抽象的なイベント駆動型非同期 API として知られている。その MINA の ObjectSerializationDecoder コンポーネントにおけるデシリアライゼーションの処理に、重要なセキュリティ・チェックの欠落があることが判明した。
ObjectSerializationDecoder は、シリアライズされたデータを処理するために Java のネイティブなデシリアライゼーションを利用している。しかし、適切な安全対策が施されていない場合において、特別に細工した悪意のシリアライズ・データを送信する攻撃者が、ObjectSerializationDecoder による処理に到達すると、リモート・コード実行 (RCE) を誘発する可能性が生じる。
脆弱性 CVE-2024-52046 は、Apache MINA のバージョン 2.0.0〜2.0.26/2.1.0〜2.1.9/2.2.0〜2.2.3 に影響するものだが、MINA を使用している、すべてのアプリケーションに存在するというわけではない。
このリスクは、アプリケーションが IoBuffer#getObject() メソッドを使用する場合に発生する。ObjectSerializationCodecFactory クラスを使用する ProtocolCodecFilter インスタンスが、フィルタ・チェーンに追加される際に、このメソッドが呼び出される可能性がある。したがって、これらの特定のクラスやメソッドに依存するアプリケーションの場合は、潜在的な危険にさらされている可能性があるため、ただちに対策を講じる必要がある。
すでに Apache MINAチームは、一連の製品に対するパッチ適用版 (2.0.27/2.1.10/2.2.4) をリリースし、これらの脆弱性を修正している。
ただし、アップグレードするだけでは不十分である。更新されたバージョンでは、重要なセキュリティ強化が導入されているが、開発者に残される必要な対策として、ObjectSerializationDecoder がデシリアライズを許可するクラスの明示的な定義がある。それを実現するために、次の3つの新しいメソッドが提供されている。
- accept(ClassNameMatcher classNameMatcher)
- accept(Pattern pattern)
- accept(String… patterns)
デコーダーに対する明示的な許可がない限り、デフォルトでは “deny all” の原則に基づいて、すべてのクラスが拒否される。それにより、信頼できない、あるいは、潜在的な悪意を持つ、オブジェクトのデシリアライゼーションを防止する、重要な制御レイヤーが追加される。
なお、FtpServer/SSHd/Vysper のサブ・プロジェクトは、この脆弱性の影響を受けないと、Apache MINA チームは述べている。
Apache MINA の深刻な脆弱性が FIX しました。ご利用のチームは、ご注意ください。このブログでは当登場の Apache MINA (Multipurpose Infrastructure for Network Applications) なので、Wikipedia で調べたところ「MINA はオープンソースの Java ネットワーク・アプリケーション・フレームワークである。スケーラブルであり、高性能なネットワーク・アプリケーションの作成に使用できる。MINA は TCP/UDP/シリアル通信などの、各種のトランスポートのための統合 API を提供する」と紹介されていました。
You must be logged in to post a comment.