概要
Apache Struts 2のXWorkコンポーネントに新たに開示された脆弱性により、機密データが露呈し、パッチが適用されない場合、サービス拒否(DoS)攻撃やサーバーサイドリクエストフォージェリ(SSRF)攻撃の扉を開く可能性があります。この脆弱性(追跡番号:CVE-2025-68493)は重要度「Important」と評価されており、広範囲のStruts 2バージョンに影響を与え、多くのJavaウェブアプリケーションを危険に晒しています。
脆弱性の詳細
- CVE ID: CVE-2025-68493
- 脆弱性タイプ: XWorkコンポーネントにおけるXML外部エンティティ(XXE)インジェクション
- 影響: データ開示、サービス拒否(DoS)、サーバーサイドリクエストフォージェリ(SSRF)
問題の根源と影響
この問題は、XWorkコンポーネント内のXML設定解析における不適切な検証に起因します。XML入力が安全に処理されないため、コンポーネントはXML外部エンティティ(XXE)インジェクションに対して脆弱です。実際には、攻撃者は悪意のあるXMLを作成してアプリケーションを騙し、外部エンティティを処理させることで、ローカルファイルの読み取り、内部ネットワークリソースへのアクセス、機密データの窃取、またはサービスの可用性の妨害が可能になります。
影響を受けるバージョンとリスク
すべてのStruts 2開発者およびユーザーは、デプロイメントを確認することが強く推奨されます。この脆弱性は、サポート終了(EoL)バージョンを含むレガシーおよび現在のブランチに影響を及ぼし、これらのバージョンは保守されていないにもかかわらず、本番環境で依然として広く使用されています。特に、XML設定に依存し、信頼できない入力に晒されているアプリケーションは高いリスクにあります。
緩和策と推奨事項
Apache Strutsチームは、主要な緩和策としてStruts 6.1.1以降へのアップグレードを推奨しています。この修正は後方互換性があり、ほとんどのユーザーにとってアップグレードパスを容易にするとプロジェクトは指摘しています。直ちにパッチを適用できない組織向けには、XML解析動作を強化することで一時的な緩和策が利用可能です。管理者は、外部エンティティをデフォルトで無効にするカスタムのSAXParserFactoryを展開するか、JVMレベルのシステムプロパティを設定して外部DTD、スキーマ、スタイルシートをブロックすることができます。
背景
この脆弱性はZAST.AIによって報告され、広く使用されているJavaフレームワークに対する継続的な監視を浮き彫りにしました。Strutsが過去に発生した高プロファイルのセキュリティインシデントの歴史を考慮すると、組織はパッチ適用キューにおいてこの脆弱性を最優先事項とし、脆弱なバージョンが削除または適切に緩和されていることを確認することが強く推奨されます。
