公開日:2021/12/13 最終更新日:2023/07/03
JVNVU#96768815
Apache Log4jにおける任意のコードが実行可能な脆弱性
緊急
Log4jにはJNDI Lookup機能による外部入力値の検証不備に起因して任意のJavaコードを実行可能な脆弱性が存在します。
- Apache Log4j-core 2.0-beta9から2.12.1より前のバージョン、および2.13.0から2.15.0より前のバージョン
The Apache Software Foundationが提供するLog4jは、Javaベースのロギングライブラリです。Log4jには、ログに記載された文字列から一部の値を変数として評価するLookup機能が実装されています。そのLookup機能の内、JNDI Lookup機能を悪用することにより、ログに含まれる外部のURLもしくは内部パスからJavaのクラス情報をデシリアライズして実行してしまう問題(CWE-20, CVE-2021-44228)が発見されました。これにより、遠隔の攻撃者が細工した文字列を脆弱なシステムのログに記載させ、結果として任意のJavaコードをシステムに実行させることが可能です。
遠隔の攻撃者により細工された文字列をLog4jがログに記録することにより、システム上で任意のJavaコードが実行される可能性があります。
アップデートする
開発者により、本脆弱性を修正した以下のバージョンが提供されています。開発者が提供する情報をもとに、最新版にアップデートしてください。なお、本アップデートでは、Log4jのLookup機能が削除されており、JNDIへのアクセスがデフォルトで無効化されています。
- Java 8およびそれ以降のユーザ向け修正版
- Log4j 2.17.1
- Java 7のユーザ向け修正版
- Log4j 2.12.4
- Java 6のユーザ向け修正版
- Log4j 2.3.2
【2021/12/20 追記】
2021年12月18日、開発者はLog4j 2.0-alpha1から2.16.0までのバージョンにおいて、再帰的(self-referential)なLookupを行う設定下において、サービス運用(DoS)が行われる脆弱性が新たに発見されたとして、バージョン2.17.0をリリースしました。この脆弱性に対してはCVE-2021-45105が採番されています。
【2021/12/22 追記】
2021年12月21日、開発者は一連の脆弱性を修正したバージョンとして、Java 6ユーザ向けに2.3.1を、Java 7ユーザ向けに2.12.3をリリースしました。
【2022/01/04 追記】
2021年12月28日、開発者はLog4j2 2.0-beta7から2.17.0(2.3.2および2.12.4を除く)において、攻撃者がログ出力設定を変更できる場合に限り任意のコード実行が行われる可能性があるとして、Log4j 2.17.1、2.12.4、2.3.2をリリースしました。この修正では、JNDIのデータソースをJavaプロトコルに制限する変更が行われました。この脆弱性に対してはCVE-2021-44832が採番されています。
ワークアラウンドを実施する
以下の回避策を適用することにより、本脆弱性の悪用を防ぐことが可能です。
- JndiLookupクラスをクラスパスから除外する
- 例: zip -q -d log4j-core-*.jar org/apache/logging/log4j/core/lookup/JndiLookup.class
- この回避策はCVE-2021-45046に対しても有効です
- Log4jを実行するJava仮想マシンを起動する際に
log4j2.formatMsgNoLookups
をtrue
に設定する(Log4j 2.10およびそれ以降のバージョンが対象)- 例:
-Dlog4j2.formatMsgNoLookups=true
- この回避策はCVE-2021-45046に対して有効ではありません
- 例:
- 環境変数
LOG4J_FORMAT_MSG_NO_LOOKUPS
をtrue
に設定する(Log4j 2.10およびそれ以降のバージョンが対象)- この回避策はCVE-2021-45046に対して有効ではありません
ベンダ | ステータス | ステータス 最終更新日 |
ベンダの告知ページ |
---|---|---|---|
BizMobile株式会社 | 該当製品無し | 2021/12/15 | |
Intel Corporation | 該当製品あり | 2021/12/21 | Intel Corporation の告知ページ |
Siemens AG | 該当製品あり | 2022/02/09 | Siemens AG の告知ページ |
サイボウズ株式会社 | 該当製品無し | 2021/12/16 | サイボウズ株式会社 の告知ページ |
サイレックス・テクノロジー株式会社 | 該当製品無し | 2022/01/13 | サイレックス・テクノロジー株式会社 の告知ページ |
トレンドマイクロ株式会社 | 該当製品あり | 2021/12/27 | トレンドマイクロ株式会社 の告知ページ |
三菱電機株式会社 | 該当製品あり | 2022/03/29 | 三菱電機株式会社 の告知ページ |
古河電気工業株式会社 | 該当製品無し | 2021/12/21 | |
日本ワムネット株式会社 | 該当製品無し | 2021/12/21 | |
日本電気株式会社 | 該当製品あり | 2023/06/30 | |
日立 | 該当製品あり(調査中) | 2022/01/05 | |
東芝デジタルソリューションズ株式会社 | 該当製品あり | 2022/02/14 | 東芝デジタルソリューションズ株式会社 の告知ページ |
株式会社ソリトンシステムズ | 該当製品無し | 2021/12/21 | 株式会社ソリトンシステムズ の告知ページ |
横河電機株式会社 | 該当製品あり | 2022/02/18 | 横河電機株式会社 の告知ページ |
Sky株式会社 | 該当製品無し | 2021/12/22 | Sky株式会社 の告知ページ |
ベンダ | リンク |
The Apache Software Foundation | Apache Log4j Security Vulnerabilities |
Johnson Controls | Product Security Advisories:JCI-PSA-2022-01(PDF) |
-
apache/logging-log4j2
Restrict LDAP access via JNDI #608 -
LunaSec
Log4Shell: RCE 0-day exploit found in log4j 2, a popular Java logging package -
CERT/CC Vulnerability Note VU#930724
Apache Log4j allows insecure JNDI lookups -
ICS Advisory (ICSA-22-034-01)
Sensormatic PowerManage
JPCERT 緊急報告 |
JPCERT-AT-2021-0050 Apache Log4jの任意のコード実行の脆弱性(CVE-2021-44228)に関する注意喚起 |
JPCERT REPORT |
|
CERT Advisory |
|
CPNI Advisory |
|
TRnotes |
|
CVE |
|
JVN iPedia |
|
- 2021/12/14
- [対策方法]を更新しました
- 2021/12/14
- Siemens AGのベンダステータスを更新しました
- 2021/12/15
- BizMobile株式会社のベンダステータスが更新されました
- 2021/12/15
- [影響を受けるシステム]、[対策方法]、[ベンダ情報]、[参考情報]を更新しました
- 2021/12/16
- トレンドマイクロ株式会社のベンダステータスが更新されました
- 2021/12/16
- サイボウズ株式会社のベンダステータスが更新されました
- 2021/12/17
- Siemens AGのベンダステータスを更新しました
- 2021/12/17
- [対策方法]を更新しました
- 2021/12/20
- Siemens AGのベンダステータスを更新しました
- 2021/12/20
- [対策方法]を更新しました
- 2021/12/21
- Siemens AGのベンダステータスを更新しました
- 2021/12/21
- Intel Corporationのベンダステータスを更新しました
- 2021/12/21
- 古河電気工業株式会社のベンダステータスが更新されました
- 2021/12/21
- 日本ワムネット株式会社のベンダステータスが更新されました
- 2021/12/21
- 株式会社ソリトンシステムズのベンダステータスが更新されました
- 2021/12/22
- [対策方法]を更新しました
- 2021/12/22
- Siemens AGのベンダステータスを更新しました
- 2021/12/22
- Sky株式会社のベンダステータスが更新されました
- 2021/12/24
- [対策方法]の「ワークアラウンドを実施する」の記載内容を更新しました
- 2021/12/27
- トレンドマイクロ株式会社のベンダステータスが更新されました
- 2022/01/04
- [対策方法]の「アップデートする」の記載内容を更新しました
- 2022/01/04
- Siemens AGのベンダステータスを更新しました
- 2022/01/06
- 日立のベンダステータスが更新されました
- 2022/01/12
- サイレックス・テクノロジー株式会社のベンダステータスが更新されました
- 2022/01/13
- サイレックス・テクノロジー株式会社のベンダステータスが更新されました
- 2022/02/04
- [ベンダ情報]および[参考情報]を更新しました
- 2022/02/09
- Siemens AGのベンダステータスを更新しました
- 2022/02/14
- 東芝デジタルソリューションズ株式会社のベンダステータスが更新されました
- 2022/02/18
- 横河電機株式会社のベンダステータスが更新されました
- 2022/03/29
- 三菱電機株式会社のベンダステータスが更新されました
- 2022/04/18
- 日本電気株式会社のベンダステータスが更新されました
- 2022/09/07
- 日本電気株式会社のベンダステータスが更新されました
- 2022/12/13
- 日本電気株式会社のベンダステータスが更新されました
- 2023/07/03
- 日本電気株式会社のベンダステータスが更新されました