【要点】
◎ ログライブラリ Apache Log4j に致命的な脆弱性(Log4Shell / CVE-2021-44228)が存在
◎ CVE-2021-45046, CVE-2021-45105 の脆弱性の存在も Log4j に発覚
◎ このライブラリを使用する多くのソフトウェア製品、サービスに本脆弱性が存在*1 *2 *3
◎ 対策は、脆弱性パッチの適用(2.17.0 以降)
◎ 当初の緩和策の効果は否定された
■関連情報(まとめサイト) - サイバー攻撃関係 -
◆Log4Shell [サイバー攻撃] (まとめ)
https://malware-log.hatenablog.com/entry/Log4Shell
■Apache Log4j 公式サイト
【目次】
概要
【概要】
項目 | 内容 |
---|---|
脆弱性名称 | Log4Shell |
対象ソフト | Apach Log4j |
カテゴリ | Java ライブラリ / ログ |
脆弱性の種類 | Remote Code Execution |
CVE番号 | CVE-2021-44228, CVE-2021-45046, CVE-2021-45105, CVE-2021-44832 |
報告日 | 2021/11/24 (⇒ Apache) |
採番日 | 2021/11/26 (Apache) |
脆弱なバージョン | 2.0 <= Apache log4j <= 2.14.1, 2.15.0, 2.16.0, バージョン 1系には、この脆弱性がない(別の脆弱性(CVE-2021-4104)はある) |
安全なバージョン | 2.17.0 以降 |
緩和策 | ・出力パターンを変更し、Lookupを無効化 ⇒ 公式情報として否定された*4 |
CVSS v3 | 10.0 |
発見者 | Alibaba のChen Zhaojun |
■脆弱性情報
CVE番号 |
CVSS v3 |
CVE リンク |
NVD リンク |
CWE |
種別 |
備考 |
---|---|---|---|---|---|---|
CVE-2021-44228 | 10.0 | CVE | NVD | CWE-502 CWE-400 CWE-20 |
・信頼できないデータのデシリアライゼーション ・リソースの枯渇 ・不適切な入力検証 |
安全でないJNDIルックアップを許可 |
CVE-2021-45046 | 9.0 | CVE | NVD | CWE-502 | ・信頼できないデータのデシリアライゼーション | |
CVE-2021-45105 | 7.5 | CVE | NVD | CWE-20 CWE-674 |
・不適切な入力検証 ・不適切な再帰制御 |
|
CVE-2021-44832 | 6.6 | CVE | NVD | CWE-74 CWE-20 |
・インジェクション ・不適切な入力検証 |
◇CVE(Mitre)
◆CVE-2021-44228 (Mitre, 2021/11/26)
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-44228
https://nvd.nist.gov/vuln/detail/CVE-2021-44228
https://www.kb.cert.org/vuls/id/930724
◆CVE-2021-45046 (Mitre, 2021/12/14)
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-45046
https://nvd.nist.gov/vuln/detail/CVE-2021-45046
◆CVE-2021-45105 (Mitre, 2021/12/16)
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-45105
https://nvd.nist.gov/vuln/detail/CVE-2021-45105
■Log4jのバージョン
時期 |
バージョン |
備考 |
---|---|---|
2021/12/06 | 2.15.0-rc1 | 対策をバイパスされることが可能と判明 |
2021/12/09 | 2.15.0-rc2 | rc1 の課題解決版 |
2021/12/10 | 2.15.0 | Lookup」やログメッセージの解決機能を削除。JNDIのアクセス方法を見直し |
2021/12/11 | 2.15.1-rc1 | |
2021/12/12 | 2.16.0-rc1 | |
2021/12/13 | 2.16.0 | Lookup機能を完全に削除。また「JNDI」の機能をデフォルトで無効化 |
2021/12/13 | 2.12.2-rc1 | |
2021/12/14 | 2.12.2 | |
2021/12/17 | 2.17.0-rc1 | |
2021/12/18 | 2.17.0 | CVE-2021-45105 の修正を追加 |
■Log4jの問題点(脆弱性の原因)
- Log4jのJNDI(Java Naming and Directory Interface) Lookup 機能では、LDAPサーバーなどのディレクトリサービス上からJavaオブジェクトを検索可能
- Log4jのJNDI Lookup 機能では、単にJavaオブジェクトを検索するだけでなく、classファイル(Javaの実行ファイル)を読み込み、実行できてしまうのが問題
■関係するベンダー/製品/サービス
◇脆弱な製品リスト
◆CISA Log4j (CVE-2021-44228) Vulnerability Guidance
https://github.com/cisagov/log4j-affected-db
◆Log4j overview related software (NCSC-NL)
https://github.com/NCSC-NL/log4shell/tree/main/software
◆Log4Shell log4j vulnerability (CVE-2021-44228 / CVE-2021-45046) - cheat-sheet reference guide
https://www.techsolvency.com/story-so-far/cve-2021-44228-log4j-log4shell/
◇製品
ベンダー/製品 |
備考 |
URL |
---|---|---|
Apache Struts | Apache | https://struts.apache.org/ |
GHIDRA | NSA | https://ghidra-sre.org/ |
Minecraft | Microsoft |
◇サービス
ベンダー/製品 |
備考 |
URL |
---|---|---|
iCloud | Apple | |
Steam | Valve | https://store.steampowered.com/ |
Amazon | ||
Baido | ||
NetEase | ||
Tencent | ||
Elastic |
◇ベンダー
■緩和策(従来の緩和策は否定)
古い(信用されていない)緩和策
このページでは、以前、他の緩和策を紹介しましたが、これらの対策は露出を制限するだけで、いくつかの攻撃ベクトルは開いたままであることが判明しました。
他の不十分な緩和策としては、リリース >= 2.10 でのシステムプロパティ log4j2.formatMsgNoLookups または環境変数 LOG4J_FORMAT_MSG_NO_LOOKUPS を true に設定するか、リリース >= 2.7 および <= 2.14.1 で %m{nolookups}, %msg{nolookups}, %message{nolookups} によるメッセージルックアップを無効にするためにロギング設定を変更すること、です。
これらの対策が不十分な理由は、上記のスレッドコンテキスト攻撃ベクトルに加えて、メッセージルックアップが発生する可能性があるLog4jのコードパスが残っているからです:既知の例は、Logger.printf("%s", userInput) を使うアプリケーション、またはカスタムメッセージ工場を使うアプリケーションで、結果のメッセージはStringBuilderFormattableを実装しないものです。他にも攻撃経路があるかもしれません。
最も安全な方法は、Log4jを安全なバージョンにアップグレードするか、log4j-core jarからJndiLookupクラスを削除することです。
https://logging.apache.org/log4j/2.x/security.html#CVE-2021-45046
記事
【ニュース】
■2021年
◇2021年12月
□2021年12月10日 (金)
◆New zero-day exploit for Log4j Java library is an enterprise nightmare (BleepingComputer, 2021/12/10)
[Javaライブラリ「Log4j」の新たなゼロデイ・エクスプロイトが企業にもたらす悪夢]
https://www.bleepingcomputer.com/news/security/new-zero-day-exploit-for-log4j-java-library-is-an-enterprise-nightmare/
⇒ https://vul.hatenadiary.com/entry/2021/12/10/000000
◆Security warning: New zero-day in the Log4j Java library is already being exploited (ZDNet, 2021/12/10)
[セキュリティ警告。Javaライブラリ「Log4j」の新たなゼロデイはすでに悪用されている]Severe vulnerability in Java logging libraries allows unauthenticated remote code execution and access to servers, warn researchers.
[Javaのロギングライブラリに深刻な脆弱性があり、認証されていないリモートコードの実行やサーバーへのアクセスが可能であると研究者が警告しています。]https://www.zdnet.com/article/security-warning-new-zero-day-in-the-log4j-java-library-is-already-being-exploited/
⇒ https://vul.hatenadiary.com/entry/2021/12/10/000000_1
□2021年12月12日 (日)
◆Apache Log4jに深刻な脆弱性、IT各社が調査対応を開始 (ZDNet, 2021/12/12 11:07)
https://japan.zdnet.com/article/35180746/
⇒ https://vul.hatenadiary.com/entry/2021/12/12/000000_1
◆システムの重要な基盤「Log4j」の脆弱性が、世界中に“破壊的”な影響を及ぼしている (WIRED, 2021/12/12 17:00)
https://wired.jp/2021/12/12/log4j-flaw-hacking-internet/
⇒ https://vul.hatenadiary.com/entry/2021/12/12/000000
□2021年12月13日 (月)
◆「WebEx Meetings Server」などCisco複数製品に「Apache Log4j」由来の脆弱性 (Security NEXT, 2021/12/13)
https://www.security-next.com/132387
⇒ https://vul.hatenadiary.com/entry/2021/12/13/000000
◆Javaの「Log4j」ライブラリーに深刻な脆弱性、第三者が任意のコードを実行可能 (日経XTECH, 2021/12/13)
https://xtech.nikkei.com/atcl/nxt/news/18/11854/
⇒ https://vul.hatenadiary.com/entry/2021/12/13/000000_1
◆「Apache Log4j」の脆弱性、VMwareの36製品に影響 (Security NEXT, 2021/12/13)
https://www.security-next.com/132381
⇒ https://vul.hatenadiary.com/entry/2021/12/13/000000_2
◆iCloud、ツイッター、マインクラフトなどに使われているオープンソースのログユーティリティにゼロデイ脆弱性が見つかる (TechCrunch, 2021/12/13)
https://jp.techcrunch.com/2021/12/13/2021-12-10-apple-icloud-twitter-and-minecraft-vulnerable-to-ubiquitous-zero-day-exploit/
⇒ https://vul.hatenadiary.com/entry/2021/12/13/000000_3
◆世界のWebサーバの3分の1に影響? Javaライブラリ「Log4j」の脆弱性、JPCERTらが仕組みと対策を解説 (ITmedia, 2021/12/13 16:40)
https://www.itmedia.co.jp/news/articles/2112/13/news139.html
⇒ https://vul.hatenadiary.com/entry/2021/12/13/000000_4
□2021年12月14日 (火)
◆GA版「Apache Log4j 2.16.0」がリリース - 脆弱性の原因機能を削除 (Security NEXT, 2021/12/14)
https://www.security-next.com/132459
⇒ https://vul.hatenadiary.com/entry/2021/12/14/000000_1
◆Log4j、バージョン2.16.0が登場 問題の機能を削除やデフォルト無効に (ITmedia, 2021/12/14 12:08)
https://www.itmedia.co.jp/news/articles/2112/14/news098.html
⇒ https://vul.hatenadiary.com/entry/2021/12/14/000000
□2021年12月15日 (水)
◆Apple、iCloudのLog4Shell問題を修正~過去10年で最悪の脆弱性 (iPhone Mania, 2021/12/15 08:13)
https://iphone-mania.jp/news-426710/
⇒ https://vul.hatenadiary.com/entry/2021/12/15/000000_2
◆「Log4jShell」の当初緩和策を否定 - 最新版への更新を (Security NEXT, 2021/12/15)
https://www.security-next.com/132515
⇒ https://vul.hatenadiary.com/entry/2021/12/15/000000_1
□2021年12月18日 (土)
◆Upgraded to log4j 2.16? Surprise, there's a 2.17 fixing DoS (BleepingComputer, 2021/12/18 05:29)
[log4j 2.16にアップグレードされましたか?驚いたことに、DoSを修正する2.17があります]
https://www.bleepingcomputer.com/news/security/upgraded-to-log4j-216-surprise-theres-a-217-fixing-dos/
⇒ https://vul.hatenadiary.com/entry/2021/12/18/000000_1
◆「Log4j」の脆弱性によるセキュリティ危機には、さらに深刻な“第2波”がやってくる (Wired, 2021/12/18 09:00)
https://wired.jp/2021/12/18/log4j-log4shell-vulnerability-ransomware-second-wave/
⇒ https://vul.hatenadiary.com/entry/2021/12/18/000000
□2021年12月28日 (火)
◆Log4j 2.17.1 out now, fixes new remote code execution bug (BleepingComputer, 2021/12/28 15:12)
[Log4j 2.17.1リリース、新しいリモートコード実行バグを修正]
https://www.bleepingcomputer.com/news/security/log4j-2171-out-now-fixes-new-remote-code-execution-bug/
⇒ https://vul.hatenadiary.com/entry/2021/12/28/000000
【ブログ】
■2021年
◇2021年12月
□2021年12月9日 (木)
◆Log4Shell: RCE 0-day exploit found in log4j 2, a popular Java logging package (LunaSec, 2021/12/09)
https://www.lunasec.io/docs/blog/log4j-zero-day/
⇒ https://vul.hatenadiary.com/entry/2021/12/09/000000_1
□2021年12月10日 (金)
◆Threat Advisory: Critical Apache Log4j vulnerability being exploited in the wild (Talos(CISCO), 2021/12/10)
http://blog.talosintelligence.com/2021/12/apache-log4j-rce-vulnerability.html
⇒ https://vul.hatenadiary.com/entry/2021/12/10/000000_2
□2021年12月12日 (日)
◆CVE-2021-44228 – Log4j 2 Vulnerability Analysis (Randori, 2021/12/12 14:23)
https://www.randori.com/blog/cve-2021-44228/
⇒ https://vul.hatenadiary.com/entry/2021/12/12/000000_2
□2021年12月17日 (金)
◆Apache Log4j Vulnerability (Google Security Blog, 2021/12/17)
https://security.googleblog.com/2021/12/apache-log4j-vulnerability.html
⇒ https://vul.hatenadiary.com/entry/2021/12/17/000000_2
□2021年12月20日 (月)
◆懸念される第二段階 最悪の脆弱性「Log4Shell」 (クラウドWatch, 2021/12/20 11:44)
https://cloud.watch.impress.co.jp/docs/column/infostand/1375477.html
⇒ https://vul.hatenadiary.com/entry/2021/12/20/000000
◆MS、「Apache Log4j」でセキュリティアドバイザリ - 8製品にアップデート (Security NEXT, 2021/12/20)
https://www.security-next.com/132668
⇒ https://vul.hatenadiary.com/entry/2021/12/20/000000
【公開情報】
◆Zero-Day Exploit Targeting Popular Java Library Log4j (govcert.ch, 2021/12/12)
https://www.govcert.ch/blog/zero-day-exploit-targeting-popular-java-library-log4j/
⇒ https://vul.hatenadiary.com/entry/2021/12/12/000000_3
◆Apache Log4jの脆弱性(CVE-2021-44228)について (NEC, 2021/12/14)
https://www.support.nec.co.jp/View.aspx?id=3010103719
⇒ https://vul.hatenadiary.com/entry/2021/12/14/000000_3
◆Apache Log4jの任意のコード実行の脆弱性(CVE-2021-44228)に関する注意喚起 (JPCERT/CC, 2021/12/15)
https://www.jpcert.or.jp/at/2021/at210050.html
⇒ https://vul.hatenadiary.com/entry/2021/12/15/000000_3
詳細情報
【ベンダー公式情報】
◆Apache Log4j Vulnerability (Google Security Blog, 2021/12/17)
https://security.googleblog.com/2021/12/apache-log4j-vulnerability.html
⇒ https://vul.hatenadiary.com/entry/2021/12/17/000000_2