◆概要
Apache ソフトウェア財団による Web アプリケーション開発フレームワークである Struts のバージョン 2 系に、リクエストの処理に用いているパーサにおける処理の不備を悪用して、遠隔から任意のコードが実行可能となる脆弱性が報告されています。攻撃者により脆弱性を悪用された場合、対象ホストへの侵入やサーバの管理者が意図していない動作を強制されてしまいます。攻撃が可能となる条件が緩く、国内でも多くの被害事例が報道されているため、当該ソフトウェアを用いたアプリケーションを運用している場合は、早急にソフトウェアのバージョンを確認し、アップデートにより対策してください。
----------------------------------------------------------------------
◆分析者コメント
パーサの処理の不備に関して当初は Jakarta Multipart parser にのみ存在すると報告されており、Apache ソフトウェア財団からは S2-045 の脆弱性識別子が割り当てられていました。しかし、S2-045 の公開数日後に、S2-045 への軽減策として代替ライブラリに提案されていた Jakarta Stream Multi Part Request でも同様の攻撃が可能であると判明した為、Apache ソフトウェア財団からは新たに S2-046 が発番されました。S2-045、S2-046 ともに CVE 識別子と脆弱性の影響範囲は同一であり、共に Struts のバージョンアップにより根本的な対策が可能です。
今回報告された S2-045 および S2-046 は、昨年に報告されて話題になった S2-032、S2-033、S2-037 とは異なり、設定面での対策が難しく、攻撃が成立する条件も少ないです。国内でも当該脆弱性の悪用による被害事例が数多く報道されていることや、脆弱性公開後の数日間に 10 を超える数のエクスプロイトコードが公開されていることから、攻撃者の関心が高く狙われやすい脆弱性であると考えられます。当該ソフトウェアで作成されたアプリケーションを運用している場合は、早急にソフトウェアのバージョンを確認し、アップデートにより対策してください。
----------------------------------------------------------------------
◆深刻度(CVSS)
[CVSS v2]
10.0
[CVSS v3]
9.8
※CVE 識別子は CVE-2017-5638 として統一されているため、CVE-2017-5638 を記しています。
※Apache ソフトウェア財団が Struts を対象に発行している脆弱性識別子としては、S2-045 と S2-046 が割り当てられています。
----------------------------------------------------------------------
◆影響を受けるソフトウェア
以下のバージョンのソフトウェアが、当該脆弱性の影響を受けると報告されています。
・Struts 2.3.x 系: Struts 2.3.5 - Struts 2.3.31
・Struts 2.5.x 系: Struts 2.5 - Struts 2.5.10
※Struts 2.x 系から実装された機能である OGNL を悪用した脆弱性であるため、Struts 1.x 系では当該脆弱性の影響を受けないと考えられます。
----------------------------------------------------------------------
◆解説
Apache ソフトウェア財団が公開している Web アプリケーション開発フレームワークである Struts のバージョン 2 系に、パーサ内部の処理の不備により遠隔から任意のコードが実行可能となる脆弱性が報告されています。
Apache ソフトウェア財団による Web アプリケーション開発フレームワークである Struts のバージョン 2 系に、リクエストの処理に用いているパーサにおける処理の不備を悪用して、遠隔から任意のコードが実行可能となる脆弱性が報告されています。攻撃者により脆弱性を悪用された場合、対象ホストへの侵入やサーバの管理者が意図していない動作を強制されてしまいます。攻撃が可能となる条件が緩く、国内でも多くの被害事例が報道されているため、当該ソフトウェアを用いたアプリケーションを運用している場合は、早急にソフトウェアのバージョンを確認し、アップデートにより対策してください。
----------------------------------------------------------------------
◆分析者コメント
パーサの処理の不備に関して当初は Jakarta Multipart parser にのみ存在すると報告されており、Apache ソフトウェア財団からは S2-045 の脆弱性識別子が割り当てられていました。しかし、S2-045 の公開数日後に、S2-045 への軽減策として代替ライブラリに提案されていた Jakarta Stream Multi Part Request でも同様の攻撃が可能であると判明した為、Apache ソフトウェア財団からは新たに S2-046 が発番されました。S2-045、S2-046 ともに CVE 識別子と脆弱性の影響範囲は同一であり、共に Struts のバージョンアップにより根本的な対策が可能です。
今回報告された S2-045 および S2-046 は、昨年に報告されて話題になった S2-032、S2-033、S2-037 とは異なり、設定面での対策が難しく、攻撃が成立する条件も少ないです。国内でも当該脆弱性の悪用による被害事例が数多く報道されていることや、脆弱性公開後の数日間に 10 を超える数のエクスプロイトコードが公開されていることから、攻撃者の関心が高く狙われやすい脆弱性であると考えられます。当該ソフトウェアで作成されたアプリケーションを運用している場合は、早急にソフトウェアのバージョンを確認し、アップデートにより対策してください。
----------------------------------------------------------------------
◆深刻度(CVSS)
[CVSS v2]
10.0
[CVSS v3]
9.8
※CVE 識別子は CVE-2017-5638 として統一されているため、CVE-2017-5638 を記しています。
※Apache ソフトウェア財団が Struts を対象に発行している脆弱性識別子としては、S2-045 と S2-046 が割り当てられています。
----------------------------------------------------------------------
◆影響を受けるソフトウェア
以下のバージョンのソフトウェアが、当該脆弱性の影響を受けると報告されています。
・Struts 2.3.x 系: Struts 2.3.5 - Struts 2.3.31
・Struts 2.5.x 系: Struts 2.5 - Struts 2.5.10
※Struts 2.x 系から実装された機能である OGNL を悪用した脆弱性であるため、Struts 1.x 系では当該脆弱性の影響を受けないと考えられます。
----------------------------------------------------------------------
◆解説
Apache ソフトウェア財団が公開している Web アプリケーション開発フレームワークである Struts のバージョン 2 系に、パーサ内部の処理の不備により遠隔から任意のコードが実行可能となる脆弱性が報告されています。