最近の脆弱性 › CVE-2012-0391
Apache Struts 2 の脆弱性(CVE-2012-0391)
この解説はAIを使用して作成しています。誤りを含む可能性があり、内容は保証できません。必ず公式情報をご確認ください。
基本情報(データから表示)
| CVE番号 | CVE-2012-0391 |
|---|---|
| 製品 | Apache Struts 2 |
| 深刻度(CVSS) | 9.8 緊急CVSS v3.1 NVD による評価 詳細(ベクター)CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H |
| KEVへの追加日 | 2022-01-21 |
| 米国政府機関の対応期限 | 2022-07-21 |
| ランサムウェアでの悪用 | 不明(確認されていない) |
| 弱点の種類(CWE) | CWE-20 |
何が起きた
Web アプリを作るための部品 Apache Struts 2 の ExceptionDelegator という部分に、入力の扱いの弱点が見つかりました。値の型が合わないときのエラー処理で、送られた値を OGNL という式として実行してしまうため、攻撃者が細工した値を送ると任意の(攻撃者が好きに選べる)Java のプログラムを動かせるおそれがあります。NVD の評価では、離れた場所からログインなしで悪用でき、CISA によると実際の悪用が確認されています。
攻撃の流れ
データをもとに、AIを使用して作成した図です。実際の攻撃は、これと異なる場合があります。
誰が影響を受ける
Apache Struts 2 で作られた Web アプリを運用している組織が対象です。NVD の説明では 2.2.3.1 より前が影響を受けます。Apache の S2-008 は、この CVE をほかの弱点とまとめて扱い、Struts 2.0.0 から Struts 2.3.17 を影響のある版としています。
何をすればいい
NVD の説明では 2.2.3.1 で直っていますが、Apache の S2-008 は Struts 2.3.18 以降に更新するよう強くすすめています。アプリが使っている Struts 2 が 2.3.18 以降になっているか確認してください。S2-008 は、更新に加えて ParameterInterceptor と CookieInterceptor の acceptedParamNames の設定を強めることも案内しています。公式の案内を確認してください。
やることチェックリスト
- Struts 2 を 2.3.18 以降に更新する
- acceptedParamNames の設定を強める
- アプリが使う Struts 2 の版を調べる
用語メモ
- OGNL
- Java のプログラムの中で、データを読み書きするための式の言語です。外から送られた値が式として実行されると危険です。
- Apache Struts 2
- Java で Web アプリを作るときに使われる、オープンソースの枠組み(フレームワーク)です。
元データ(英語・CISA KEV より)
Apache Struts 2 Improper Input Validation Vulnerability
概要
The ExceptionDelegator component in Apache Struts 2 before 2.2.3.1 contains an improper input validation vulnerability that allows for remote code execution.
推奨対応
Apply updates per vendor instructions.