定番の脆弱性 › CVE-2021-44228
Log4Shell(CVE-2021-44228)
この解説はAIを使用して作成しています。誤りを含む可能性があり、内容は保証できません。必ず公式情報をご確認ください。
公開日:
過去の事例 この記事は過去に話題になった脆弱性の解説です。現在の状況は公式情報でご確認ください。
基本情報(データから表示)
| 通称 | Log4Shell |
|---|---|
| CVE番号 | CVE-2021-44228 |
| いつ起きたか | NVD に登録された日: 2021-12-10 KEV に追加された日: 2021-12-10 |
| 製品 | Apache Log4j2 |
| 深刻度(CVSS) | 10.0 緊急CVSS v3.1 NVD による評価 詳細(ベクター)CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H |
| ランサムウェアでの悪用 | 悪用が確認されている |
| 弱点の種類(CWE) | CWE-20, CWE-400, CWE-502 |
何が起きた
記録(ログ)を残すための部品「Apache Log4j2」に弱点がありました。Log4j2のJNDIという機能が、攻撃者が用意したLDAPサーバーなどへの接続を防げていませんでした。メッセージの置き換え機能が有効なとき、攻撃者がログに残る文字列を操作できると、そのLDAPサーバーから読み込ませたプログラムを実行させられます。KEVでは、ランサムウェアの攻撃に使われたことが確認されています。
攻撃の流れ
データをもとに、AIを使用して作成した図です。実際の攻撃は、これと異なる場合があります。
誰が影響を受ける
Apache Log4j2 の 2.0-beta9 から 2.15.0 までを使っているシステムが影響を受けます(ただし、セキュリティ修正版の 2.12.2、2.12.3、2.3.1 は除きます)。なお、データによると 2.15.0 では、この動作が初期設定で無効になっています。影響があるのは log4j-core で、log4net や log4cxx などは対象外です。
何をすればいい
古い事例ですが、今でも対象のバージョンのLog4j2が使われていないか確認してください。データによると、2.15.0 でこの動作は初期設定で無効になり、2.16.0(と 2.12.2、2.12.3、2.3.1)で機能そのものが取り除かれています。メーカー(ベンダー)の案内に従って更新し、詳しくはApacheの公式情報を確認してください。
用語メモ
- ログ
- プログラムが動いた記録のことです。いつ、何が起きたかを後から確かめるために残します。
- JNDI
- Javaのプログラムが、名前を手がかりに、外部のサーバーなどから情報や部品を探して読み込むための仕組みです。
- LDAP
- 利用者や機器の情報を管理するサーバー(ディレクトリーサービス)とやりとりするための通信の決まりです。
- ランサムウェア
- データを勝手に暗号化して使えなくし、元に戻す代わりに身代金を要求する不正なプログラムです。
元データ(英語)
Apache Log4j2 Remote Code Execution Vulnerability
概要(CISA KEV)
Apache Log4j2 contains a vulnerability where JNDI features do not protect against attacker-controlled JNDI-related endpoints, allowing for remote code execution.
説明(NVD)
Apache Log4j2 2.0-beta9 through 2.15.0 (excluding security releases 2.12.2, 2.12.3, and 2.3.1) JNDI features used in configuration, log messages, and parameters do not protect against attacker controlled LDAP and other JNDI related endpoints. An attacker who can control log messages or log message parameters can execute arbitrary code loaded from LDAP servers when message lookup substitution is enabled. From log4j 2.15.0, this behavior has been disabled by default. From version 2.16.0 (along with 2.12.2, 2.12.3, and 2.3.1), this functionality has been completely removed. Note that this vulnerability is specific to log4j-core and does not affect log4net, log4cxx, or other Apache Logging Services projects.