• ひとことでApache Tomcat の JMX の設定で、外から命令を実行される弱点です。
  • 深刻度9.8 緊急CVSS v3.1
  • まずやることTomcat を 9.0.x 以降に更新する

何をすればいいかを詳しく読む

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

CVE番号CVE-2016-8735
製品Apache Tomcat
深刻度(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への追加日2023-05-12
米国政府機関の対応期限2023-06-02
ランサムウェアでの悪用不明(確認されていない)
弱点の種類(CWE)CWE-284(アクセス制御の不備)

何が起きた

Apache Tomcat で JmxRemoteLifecycleListener という機能を使っていて、攻撃者が JMX(Java の管理用の仕組み)の接続口に届く場合に、リモートコード実行(離れた場所から好きな命令を動かすこと)ができてしまう弱点が見つかりました。Oracle が Java の同じような問題(CVE-2016-3427)を直したのに、この機能がその修正に合わせて直されていなかったことが原因です。実際の悪用も確認されています。攻撃はネットワーク経由で、ログイン不要、利用者の操作も不要です。

攻撃の流れ

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

攻撃の流れ: 1. Tomcat が JmxRemoteLifecycleListener を使う → 2. 攻撃者が JMX の接続口に届く → 3. 細工したデータを送り込む → 4. Tomcat の上で命令が実行される1Tomcat が JmxRemoteLifecycleListener を使う2攻撃者が JMX の接続口に届く3細工したデータを送り込む4Tomcat の上で命令が実行される攻撃の流れ: 1. Tomcat が JmxRemoteLifecycleListener を使う → 2. 攻撃者が JMX の接続口に届く → 3. 細工したデータを送り込む → 4. Tomcat の上で命令が実行される1Tomcat が JmxRemoteLifecycleListener を使う2攻撃者が JMX の接続口に届く3細工したデータを送り込む4Tomcat の上で命令が実行される攻撃の流れ: 1. Tomcat が JmxRemoteLifecycleListener を使う → 2. 攻撃者が JMX の接続口に届く → 3. 細工したデータを送り込む → 4. Tomcat の上で命令が実行される1Tomcat が JmxRemoteLifecycleListener を使う2攻撃者が JMX の接続口に届く3細工したデータを送り込む4Tomcat の上で命令が実行される

誰が影響を受ける

JmxRemoteLifecycleListener を使っている Apache Tomcat が対象です。NVD によると、6.0.48 より前、7.x の 7.0.73 より前、8.x の 8.0.39 より前、8.5.x の 8.5.7 より前、9.x の 9.0.0.M12 より前が影響を受けます。Tomcat の案内では、8.5.7 と 9.0.0.M12 は公開されなかったため、実際の修正版は 8.5.8 と 9.0.0.M13 です。

何をすればいい

Tomcat を修正版(6.0.48、7.0.73、8.0.39、8.5.8、9.0.0.M13)以降に更新されているか確認してください。ただし Tomcat の案内によると、6.0.x、7.0.x、8.0.x、8.5.x はサポートが終わっていて、9.0.x 以降への更新が勧められています。あわせて Apache Tomcat の公式の案内を確認してください。

やることチェックリスト

  • Tomcat を 9.0.x 以降に更新する
  • JmxRemoteLifecycleListener の使用を確認する
  • サポート終了の 6.0.x から 8.5.x を置き換える

用語メモ

JMX
Java で動くプログラムの状態を見たり設定を変えたりするための管理用の仕組みです。
JmxRemoteLifecycleListener
Tomcat で、JMX に離れた場所から接続できるようにするための機能です。
リモートコード実行 用語集で見る
離れた場所から、攻撃者が選んだ命令やプログラムを相手の機器で動かすことです。

次に読む

公式情報と元データ

公式情報

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

Apache Tomcat Remote Code Execution Vulnerability

概要

Apache Tomcat contains an unspecified vulnerability that allows for remote code execution if JmxRemoteLifecycleListener is used and an attacker can reach Java Management Extension (JMX) ports. This CVE exists because this listener wasn't updated for consistency with the Oracle patched issues for CVE-2016-3427 which affected credential types.

推奨対応

Apply updates per vendor instructions.

この元データの出どころ: CISA KEV カタログで見る