CVE-2017-5638 の詳細
CVEの情報
説明:
The Jakarta Multipart parser in Apache Struts 2 2.3.x before 2.3.32 and 2.5.x before 2.5.10.1 has incorrect exception handling and error-message generation during file-upload attempts, which allows remote attackers to execute arbitrary commands via a crafted Content-Type, Content-Disposition, or Content-Length HTTP header, as exploited in the wild in March 2017 with a Content-Type header containing a #cmd= string.
CVE更新日: 2017-03-11 02:59:00.150000
CVSSバージョン: 3.1
CVSSスコア: 9.8
KEVの情報
KEV更新日: 2021-11-03
EPSSの情報
EPSSは脆弱性が今後30日以内に悪用される確率を予測するスコアリングシステムで、FIRST(Forum of Incident Response and Security Teams)が提供しています。
EPSSのスコアが高いということは、攻撃されるリスクが高いことを意味するので、早めの対策が必要です。
EPSSスコア: 0.999990000
EPSS更新日: 2026-10-19 00:00:00
SSVCの情報
SSVCはカーネギーメロン大学ソフトウェア工学研究所が提案する脆弱性の評価手法です。ステークホルダーごとに脆弱性対応の優先度を決定することを支援します。
本サイトでは、CVE、KEV、EPSSの内容からExploitation(悪用状況)、Technical Impact(技術的影響)、Automatable(自動攻撃の可否)を判定します。
Exploitation: active
Technical Impact: high
Automatable: True
CVE-2017-5638について、以下の観点で解説します。
1. 脆弱性の概要
CVE-2017-5638は、Apache Struts 2における深刻なリモートコード実行(RCE)の脆弱性です。この脆弱性は、Jakarta Multipartパーサーのファイルアップロード処理における不適切な例外処理とエラーメッセージ生成に起因します。攻撃者は、HTTPリクエストヘッダー(特に
Content-Type、Content-Disposition、またはContent-Length)内の不正な値に悪意のあるObject Graph Navigation Library (OGNL) 式を細工して挿入することで、影響を受けるサーバー上で任意のコマンドを実行できます。1.1 影響
この脆弱性が悪用された場合、遠隔の攻撃者によってウェブサーバー上で任意のコードが実行される可能性があります。 これにより、機密情報の窃取、システムの完全な侵害、データの改ざんや破壊、さらにはDDoSボットやサーバーランサムウェアなどのマルウェア感染につながる可能性があります。 認証は不要であり、攻撃はHTTP POSTリクエストを介して行われます。
1.2 深刻度
この脆弱性は、最高値であるCVSS v3.0 Base Score 10.0 (Critical) が付与されており、非常に深刻な脆弱性として位置づけられています。 これは、ネットワーク経由で最小限の複雑さで悪用可能であり、機密性、完全性、可用性に重大な影響を与える可能性があるためです。 公開直後から、実際に悪用された事例が多数報告されており、その危険性が浮き彫りになりました。
2. 対象となる環境
Apache Struts 2を使用している環境が対象となります。
2.1 影響を受けるOSバージョン
この脆弱性はApache Struts 2フレームワーク自体に存在するため、特定のOSバージョンに依存するものではありません。Apache Struts 2が稼働する様々なOS上で影響を受ける可能性があります。
2.2 影響を受ける設定
以下のApache Struts 2のバージョンが影響を受けます。 * Apache Struts 2.3.x (2.3.5から2.3.31まで) * Apache Struts 2.5.x (2.5から2.5.10まで)
Strutsの設定ファイル(struts.xmlなど)で特にパーサーを指定していない場合、デフォルトでこの脆弱性の影響を受けるJakarta Multipartパーサーが使用されます。
3. 影響を受けた時の兆候
システムがこの脆弱性の影響を受けた際の兆候としては、以下のようなものが挙げられます。
Content-Typeヘッダーの記録がある。ls、whoami、wget、uname -aなど)。iptablesなどのファイアウォール関連プロセスの意図しない停止。4. 推奨対策
4.1 本対策
4.2 暫定回避策(緩和策)
Content-TypeヘッダーやOGNL式をブロックするルールを設定することで、攻撃を軽減できます。/WEB-INF/libディレクトリにコピーしてインストールします。Content-Typeヘッダーの異常を監視する。#nike='multipart/form-data'や#container=#context['com.opensymphony.xwork2.ActionContext.container'といったOGNL式を含むURLリクエストをフィルタリングする。参照したサイト
1. 脆弱性の概要
CVE-2017-5638は、Apache Struts 2における深刻なリモートコード実行(RCE)の脆弱性です。この脆弱性は、Jakarta Multipartパーサーのファイルアップロード処理における不適切な例外処理とエラーメッセージ生成に起因します。攻撃者は、HTTPリクエストヘッダー(特に
Content-Type、Content-Disposition、またはContent-Length)内の不正な値に悪意のあるObject Graph Navigation Library (OGNL) 式を細工して挿入することで、影響を受けるサーバー上で任意のコマンドを実行できます。 [cite: 1, 2, 4, 12, 16]1.1 影響
この脆弱性が悪用された場合、遠隔の攻撃者によってウェブサーバー上で任意のコードが実行される可能性があります。 [cite: 1, 11] これにより、機密情報の窃取、システムの完全な侵害、データの改ざんや破壊、さらにはDDoSボットやサーバーランサムウェアなどのマルウェア感染につながる可能性があります。 [cite: 1, 3, 4, 12, 24, 25] 認証は不要であり、攻撃はHTTP POSTリクエストを介して行われます。 [cite: 5]
1.2 深刻度
この脆弱性は、最高値であるCVSS v3.0 Base Score 10.0 (Critical) が付与されており、非常に深刻な脆弱性として位置づけられています。 [cite: 12] これは、ネットワーク経由で最小限の複雑さで悪用可能であり、機密性、完全性、可用性に重大な影響を与える可能性があるためです。 [cite: 12, 25] 公開直後から、実際に悪用された事例が多数報告されており、その危険性が浮き彫りになりました。 [cite: 1, 3, 5, 7, 11, 24]
2. 対象となる環境
Apache Struts 2を使用している環境が対象となります。 [cite: 1, 11]
2.1 影響を受けるOSバージョン
この脆弱性はApache Struts 2フレームワーク自体に存在するため、特定のOSバージョンに依存するものではありません。Apache Struts 2が稼働する様々なOS上で影響を受ける可能性があります。
2.2 影響を受ける設定
以下のApache Struts 2のバージョンが影響を受けます。 [cite: 1, 2, 3, 7, 9, 11, 12, 15, 18] * Apache Struts 2.3.x (2.3.5から2.3.31まで) [cite: 1, 2, 3, 7, 9, 11, 15, 18] * Apache Struts 2.5.x (2.5から2.5.10まで) [cite: 1, 2, 3, 7, 9, 11, 15, 18]
Strutsの設定ファイル(struts.xmlなど)で特にパーサーを指定していない場合、デフォルトでこの脆弱性の影響を受けるJakarta Multipartパーサーが使用されます。 [cite: 11]
3. 影響を受けた時の兆候
システムがこの脆弱性の影響を受けた際の兆候としては、以下のようなものが挙げられます。 [cite: 1, 7, 18]
Content-Typeヘッダーの記録がある。 [cite: 1]ls、whoami、wget、uname -aなど)。 [cite: 1, 7, 18]iptablesなどのファイアウォール関連プロセスの意図しない停止。 [cite: 7]4. 推奨対策
4.1 本対策
4.2 暫定回避策(緩和策)
Content-TypeヘッダーやOGNL式をブロックするルールを設定することで、攻撃を軽減できます。 [cite: 1, 4, 14, 15]/WEB-INF/libディレクトリにコピーしてインストールします。 [cite: 4]Content-Typeヘッダーの異常を監視する。 [cite: 1]#nike='multipart/form-data'や#container=#context['com.opensymphony.xwork2.ActionContext.container'といったOGNL式を含むURLリクエストをフィルタリングする。 [cite: 15]参照したサイト