最近の脆弱性 › CVE-2017-12617

Apache Tomcat のリモートコード実行の脆弱性(CVE-2017-12617)

この解説はAIを使用して作成しています。誤りを含む可能性があり、内容は保証できません。必ず公式情報をご確認ください。

基本情報(データから表示)

CVE番号CVE-2017-12617
製品Apache Tomcat
深刻度(CVSS)8.1 重要CVSS v3.1
NVD による評価
詳細(ベクター)CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H
KEVへの追加日2022-03-25
米国政府機関の対応期限2022-04-15
ランサムウェアでの悪用不明(確認されていない)
弱点の種類(CWE)CWE-434

何が起きた

Web サーバーソフトの Apache Tomcat で、HTTP PUT(ファイルを送り込む命令)を有効にしていると、細工したリクエストで JSP ファイルをサーバーに置けてしまう弱点が見つかりました。置かれた JSP ファイルを呼び出すと、中に書かれたプログラムがサーバーで実行されます。NVD の評価では、ネットワーク経由で、ログインしていない攻撃者でも悪用できるとされています。実際の悪用が確認されています。

攻撃の流れ

データをもとに、AIを使用して作成した図です。実際の攻撃は、これと異なる場合があります。

攻撃の流れ: 1. HTTP PUT が有効なサーバーを探す → 2. 細工したリクエストで JSP を置く → 3. 置いた JSP ファイルを呼び出す → 4. 中のプログラムがサーバーで動く1HTTP PUT が有効なサーバーを探す2細工したリクエストで JSP を置く3置いた JSP ファイルを呼び出す4中のプログラムがサーバーで動く攻撃の流れ: 1. HTTP PUT が有効なサーバーを探す → 2. 細工したリクエストで JSP を置く → 3. 置いた JSP ファイルを呼び出す → 4. 中のプログラムがサーバーで動く1HTTP PUT が有効なサーバーを探す2細工したリクエストで JSP を置く3置いた JSP ファイルを呼び出す4中のプログラムがサーバーで動く

誰が影響を受ける

HTTP PUT を有効にしている(たとえば Default サーブレットの readonly という設定を false にしている)Apache Tomcat が対象です。影響を受けるのは 9.0.0.M1 から 9.0.0、8.5.0 から 8.5.22、8.0.0.RC1 から 8.0.46、7.0.0 から 7.0.81 です。

何をすればいい

Tomcat の公式情報では、修正版は 9.0.1、8.5.23、8.0.47、7.0.82 です。使っている系列の修正版以降に更新されているか確認してください。ただし Tomcat の公式情報では、7.0 系は 2021年3月31日に、8.0 系は 2018年6月30日に、8.5 系は 2024年3月31日にサポートが終わっているため、これらの系列は使い続けず、サポートが続いている系列へ移してください。あわせて Apache Tomcat の公式の案内を確認してください。

やることチェックリスト

用語メモ

HTTP PUT
Web の通信で、サーバーにファイルなどを送り込んで置くための命令です。
JSP
Java で書かれた、サーバー上で動いて Web ページを作るためのファイルです。
サーブレット
Tomcat などの上で動き、Web からの要求を受けて処理する Java のプログラムです。

元データ(英語・CISA KEV より)

Apache Tomcat Remote Code Execution Vulnerability

概要

When running Apache Tomcat, it is possible to upload a JSP file to the server via a specially crafted request. This JSP could then be requested and any code it contained would be executed by the server.

推奨対応

Apply updates per vendor instructions.

公式情報