TT 脆弱性 Blog

脆弱性情報に関する「個人」の調査・研究のログ

Log4j [脆弱性] (まとめ)

【要点】

◎ ログライブラリ 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

malware-log.hatenablog.com


■Apache Log4j 公式サイト

logging.apache.org


【目次】

概要

【概要】
項目 内容
脆弱性名称 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 以降
緩和策 ・「-Dlog4j2.formatMsgNoLookups=true」を JVM引数として設定
・出力パターンを変更し、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
Twitter
Baido
NetEase
Tencent
Elastic


◇ベンダー

ベンダー/製品
備考
URL
VMware 36製品 https://www.vmware.com/security/advisories/VMSA-2021-0028.html
CISCO 65製品 https://tools.cisco.com/security/center/content/CiscoSecurityAdvisory/cisco-sa-apache-log4j-qRuKNEbd
Cloudflare
Apple iCloud
Google https://security.googleblog.com/2021/12/apache-log4j-vulnerability.html
NEC https://www.support.nec.co.jp/View.aspx?id=3010103719
Microsoft 8製品 https://msrc-blog.microsoft.com/2021/12/11/microsofts-response-to-cve-2021-44228-apache-log4j2/


■緩和策(従来の緩和策は否定)

古い(信用されていない)緩和策


このページでは、以前、他の緩和策を紹介しましたが、これらの対策は露出を制限するだけで、いくつかの攻撃ベクトルは開いたままであることが判明しました。


他の不十分な緩和策としては、リリース >= 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

詳細情報

【ベンダー公式情報】

■Google

◆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

関連情報

【関連まとめ記事】

◆全体まとめ
https://vul.hatenadiary.com/entry/root


Copyright (C) 谷川哲司 (Tetsuji Tanigawa) 2006 - 2022