最近の脆弱性 › CVE-2021-45046

Apache Log4j2 の安全でないデシリアライズの脆弱性(CVE-2021-45046)

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

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

CVE番号CVE-2021-45046
製品Apache Log4j2
深刻度(CVSS)9.0 緊急CVSS v3.1
NVD による評価
詳細(ベクター)CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:H/I:H/A:H
KEVへの追加日2023-05-01
米国政府機関の対応期限2023-05-22
ランサムウェアでの悪用悪用が確認されている
弱点の種類(CWE)CWE-917

何が起きた

ログを記録する部品 Apache Log4j2 で、以前の弱点 CVE-2021-44228 への 2.15.0 の修正が、標準ではない一部の設定では不十分だったことが分かりました。ログの設定で Thread Context Lookup などを使っていると、攻撃者は細工したデータを入れて、情報を漏らしたり命令を実行させたりするおそれがあります。NVD の評価では、ログインしていない攻撃者がネットワーク経由で悪用できます。この弱点は実際に悪用が確認されており、ランサムウェアでの悪用も知られています。

攻撃の流れ

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

攻撃の流れ: 1. ログの設定で Thread Context Lookup を使う → 2. 攻撃者が細工したデータを送り込む → 3. そのデータがログに記録される → 4. 情報が漏れたり命令が実行されたりする1ログの設定で Thread Context Lookup を使う2攻撃者が細工したデータを送り込む3そのデータがログに記録される4情報が漏れたり命令が実行されたりする攻撃の流れ: 1. ログの設定で Thread Context Lookup を使う → 2. 攻撃者が細工したデータを送り込む → 3. そのデータがログに記録される → 4. 情報が漏れたり命令が実行されたりする1ログの設定で Thread Context Lookup を使う2攻撃者が細工したデータを送り込む3そのデータがログに記録される4情報が漏れたり命令が実行されたりする

誰が影響を受ける

Apache によると、log4j-core の 2.0-beta9 から 2.16.0 より前まで(ただし修正版の 2.3.1 と 2.12.3 は除く)が影響を受けます。log4j-api だけを使い、log4j-core を使っていないアプリは影響を受けません。Log4j2 を組み込んだ製品も多いため、自分で入れた覚えがなくても使われていることがあります。

何をすればいい

Apache は、Java 8 以降なら 2.16.0、Java 7 なら 2.12.3、Java 6 なら 2.3.1 に更新するよう案内しています。なお NVD の説明では Java 7 向けの修正版を 2.12.2 としていますが、Apache の現在の案内では Java 7 向けは 2.12.3 です。Log4j2 を組み込んだ製品を使っている場合は、その製品のメーカーの案内に従って更新してください。詳しくは Apache の公式の案内を確認してください。

やることチェックリスト

用語メモ

Apache Log4j2
Java で作られたアプリが、動作の記録(ログ)を書き出すために広く使われている部品です。
log4j-core
Log4j2 の中で、実際にログを書き出す処理を受け持つ部品のファイルです。
ランサムウェア
データを使えなくして、元に戻す代わりにお金を要求する悪意のあるプログラムです。

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

Apache Log4j2 Deserialization of Untrusted Data Vulnerability

概要

Apache Log4j2 contains a deserialization of untrusted data vulnerability due to the incomplete fix of CVE-2021-44228, where the Thread Context Lookup Pattern is vulnerable to remote code execution in certain non-default configurations.

推奨対応

Apply updates per vendor instructions.

公式情報