定番の脆弱性 › CVE-2017-5638
Apache Struts 2(Jakarta Multipart)(CVE-2017-5638)
この解説はAIを使用して作成しています。誤りを含む可能性があり、内容は保証できません。必ず公式情報をご確認ください。
公開日:
過去の事例 この記事は過去に話題になった脆弱性の解説です。現在の状況は公式情報でご確認ください。
基本情報(データから表示)
| 通称 | Apache Struts 2(Jakarta Multipart) |
|---|---|
| CVE番号 | CVE-2017-5638 |
| いつ起きたか | NVD に登録された日: 2017-03-11 KEV に追加された日: 2021-11-03 |
| 製品 | Apache Struts |
| 深刻度(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 |
| ランサムウェアでの悪用 | 悪用が確認されている |
| 弱点の種類(CWE) | CWE-20 |
何が起きた
Webアプリを作るための枠組み「Apache Struts 2」の、ファイルのアップロードを処理する部品(Jakarta Multipartパーサー)に弱点がありました。アップロードの処理中に起きたエラーを正しく扱えず、攻撃者が細工したHTTPヘッダー(Content-Type、Content-Disposition、Content-Length)を送ると、サーバー上で攻撃者が好きに選んだ命令を実行できてしまいます。データによると、2017年3月に、Content-Typeヘッダーを使った実際の攻撃で悪用されていました。KEVでは、ランサムウェアの攻撃に使われたことも確認されています。
攻撃の流れ
データをもとに、AIを使用して作成した図です。実際の攻撃は、これと異なる場合があります。
誰が影響を受ける
Apache Struts 2 のうち、2.3.x で 2.3.32 より前、2.5.x で 2.5.10.1 より前のバージョンを使っているWebサービスが影響を受けます。
何をすればいい
古い事例ですが、今でも 2.3.32 より前(2.3.x)や 2.5.10.1 より前(2.5.x)のStrutsが使われていないか確認してください。見つかった場合は、メーカー(ベンダー)の案内に従って更新し、詳しくはApacheの公式情報を確認してください。
用語メモ
- フレームワーク
- Webアプリなどを作るときに使う、よく使う機能をまとめた土台となるソフトウェアです。
- HTTPヘッダー
- Webの通信で、本文とは別に送られる付加情報です。データの種類(Content-Type)などが書かれます。
- パーサー
- 受け取ったデータを読み取って、プログラムが扱える形に分解する部品です。
元データ(英語)
Apache Struts Remote Code Execution Vulnerability
概要(CISA KEV)
Apache Struts Jakarta Multipart parser allows for malicious file upload using the Content-Type value, leading to remote code execution.
説明(NVD)
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.