最近の脆弱性 › CVE-2017-9791
Apache Struts 1 の脆弱性(CVE-2017-9791)
この解説はAIを使用して作成しています。誤りを含む可能性があり、内容は保証できません。必ず公式情報をご確認ください。
基本情報(データから表示)
| CVE番号 | CVE-2017-9791 |
|---|---|
| 製品 | Apache Struts 1 |
| 深刻度(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-02-10 |
| 米国政府機関の対応期限 | 2022-08-10 |
| ランサムウェアでの悪用 | 不明(確認されていない) |
| 弱点の種類(CWE) | CWE-20 |
何が起きた
Apache Struts の Struts 1 プラグインで、利用者が入力した値をそのままエラーメッセージなどの表示(ActionMessage)に使っていると、細工した値でリモートからコードを実行されるおそれがある弱点が見つかりました。CISA は悪用が確認された脆弱性の一覧に載せています。NVD の評価では、離れた場所から、ログインなどの特別な権限なしで攻撃できます。
攻撃の流れ
データをもとに、AIを使用して作成した図です。実際の攻撃は、これと異なる場合があります。
誰が影響を受ける
Apache の勧告(S2-048)では、Struts 1 プラグインと Struts 1 のアクションを使っている Struts 2.3.x が対象です。NVD の説明では、Struts 2.1.x と 2.3.x が対象とされています。
何をすればいい
Apache の勧告(S2-048)は、ActionMessage には入力した値をそのまま渡さず、必ずリソースキー(あらかじめ用意したメッセージの名前)を使うよう案内しています。アプリを作った開発者に、Struts 1 プラグインの使い方を確認してもらってください。あわせて Apache の公式の案内を確認してください。
やることチェックリスト
- Struts 1 プラグインを使っているか確かめる
- ActionMessage に入力値をそのまま渡さないようにする
- メッセージはリソースキーで指定するように直す
用語メモ
- Apache Struts
- Java でウェブアプリを作るための枠組み(フレームワーク)です。
- プラグイン
- ソフトに機能を付け足すための追加部品です。
- リソースキー
- 表示する文章をあらかじめ別の場所に用意しておき、その文章を呼び出すための名前です。
元データ(英語・CISA KEV より)
Apache Struts 1 Improper Input Validation Vulnerability
概要
The Struts 1 plugin in Apache Struts might allow remote code execution via a malicious field value passed in a raw message to the ActionMessage.
推奨対応
Apply updates per vendor instructions.