Java 製 Logger “Log4j” の脆弱性について
私の Twitter TL では 2021-12-10 あたりからちらほら見かけるようになったが Java 製の事実上の標準 logger である Apache Log4j に脆弱性があったそうで,最新版 2.15.0 のアナウンスが出ている。 ちょっと大事になりそうな気がするので,この記事で覚え書きとして残しておく。
CVE-2021-44228
ちょっと分かりにくいかもしれないので,以下の解説記事も参考にどうぞ。
ここまで言及されれば今回の脆弱性のヤバさが分かるだろう。 サービス側にログが吐かれるだけでこの脆弱性が発火する可能性があるのだ。 これは私達が目にしている各種サービスだけではなく,たとえばバックエンドで外部の Web API サービスを利用しているのならそちらも考慮する必要がある。 あるいは,もしかしたら組込み製品でアプリケーションを Java で組んでいるかもしれない。
Apache Log4j はこの脆弱性の CVSS 評価値を
CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H
- 深刻度: 緊急 (Score: 10)
基本評価基準 | 評価値 |
---|---|
攻撃元区分 | ネットワーク |
攻撃条件の複雑さ | 低 |
必要な特権レベル | 不要 |
ユーザ関与レベル | 不要 |
スコープ | 変更あり |
機密性への影響 | 高 |
完全性への影響 | 高 |
可用性への影響 | 高 |
と見積もっている。
一応,サービス側の緩和措置も示されているので「すぐに対応できないよー」という場合は参考にするといいだろう。
とりあえずシステム・プロパティまたは環境変数で対応って感じかねぇ。
アップデートは計画的に。
【2021-12-15 追記】 CVE-2021-44228
リリースした 2.15.0 に不備があったため 2.16.0 がリリースされている。
Apache Log4j はこの脆弱性の CVSS 評価値を
CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:C/C:H/I:H/A:H
(CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:L
から大幅に引き上げた模様【2021-12-18 追記】)- 深刻度: 緊急 (Score: 9)
基本評価基準 | 評価値 |
---|---|
攻撃元区分 | ネットワーク |
攻撃条件の複雑さ | 高 |
必要な特権レベル | 不要 |
ユーザ関与レベル | 不要 |
スコープ | 変更あり |
機密性への影響 | 高 |
完全性への影響 | 高 |
可用性への影響 | 高 |
と見積もっている。
前節で示した緩和策は使えないらしい。 2.16.0 以降に上げられないのであれば
と class ファイルを削除する必要がある。
【2021-12-20 追記】 CVE-2021-45105
先日リリースされた 2.16.0 には以下の脆弱性があり,これを緩和する 2.17.0 がリリースされた。
Apache Log4j はこの脆弱性の CVSS 評価値を
CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
- 深刻度: 重要 (Score: 7.5)
基本評価基準 | 評価値 |
---|---|
攻撃元区分 | ネットワーク |
攻撃条件の複雑さ | 低 |
必要な特権レベル | 不要 |
ユーザ関与レベル | 不要 |
スコープ | 変更なし |
機密性への影響 | なし |
完全性への影響 | なし |
可用性への影響 | 高 |
と見積もっている。
また別の緩和手順として
を挙げている。
【2021-12-15 追記】 Logback にも脆弱性(の可能性)あり
Logback バージョン 1.2.8 がリリースされている。 このバージョンでは LOGBACK-1591 に絡む対応が行われている。 ただし,これが脆弱性として発火するとしても以下の前提条件が必要となる。
LOGBACK-1591 は現時点(2021-12-15)ではまだ確定的ではないが,予防措置として log4j と同じく JNDI lookup コードを削除することにしたようだ。
ブックマーク
- GitHub - apache/logging-log4j2: Apache Log4j 2 is an upgrade to Log4j that provides significant improvements over its predecessor, Log4j 1.x, and provides many of the improvements available in Logback while fixing some inherent problems in Logback’s architecture.
- Remote code injection in Log4j · CVE-2021-44228 · GitHub Advisory Database · GitHub
- Oracle Security Alert Advisory - CVE-2021-44228
- “Log4Shell” Java vulnerability – how to safeguard your servers – Naked Security
- Log4shell software flaw threatens millions of servers as hackers scramble to exploit it - ABC News
- Apache Log4j2 Security Bulletin (CVE-2021-44228)
- Cybereason/Logout4Shell: Use Log4Shell vulnerability to vaccinate a victim server against Log4Shell
- RCE in log4j, Log4Shell, or how things can get bad quickly
- Apache Log4j の脆弱性対策について(CVE-2021-44228):IPA 独立行政法人 情報処理推進機構
- マイクラもハッキング ~「Apache Log4j」ライブラリに致命的なリモートコード実行のゼロデイ脆弱性【12月10日18:45追記】 - やじうまの杜 - 窓の杜
Minecraft では既に影響が出ている模様:
-
Worst Apache Log4j RCE Zero day Dropped on Internet - Cyber Kendra
-
Log4Shell: RCE 0-day exploit found in log4j2, a popular Java logging package | LunaSec : Steam や iCloud も対象なのか
-
Apache Log4j 2 CVE-2021-44228 - Docker Blog : “Docker Official Images” で今回の脆弱性の影響を受けるものがリストアップされている
-
What you need to know about the Log4J vulnerability rocking the internet - F-Secure Blog
-
Microsoft’s Response to CVE-2021-44228 Apache Log4j 2 – Microsoft Security Response Center
-
Statement from CISA Director Easterly on “Log4j” Vulnerability | CISA
-
The Log4J Vulnerability Will Haunt the Internet for Years | WIRED
-
iCloud、ツイッター、マインクラフトなどに使われているオープンソースのログユーティリティにゼロデイ脆弱性が見つかる | TechCrunch Japan
-
LOG4J2-3211 - Remove Messge Lookups (#623) · apache/logging-log4j2@2797204 · GitHub : 2.16.0 登場。メッセージ・ルックアップ機能をコードから削除した模様
-
Log4jで話題になったWAFの回避/難読化とは何か - WAF Tech Blog | クラウド型 WAFサービス Scutum 【スキュータム】
-
世界中を揺るがしたJavaライブラリの脆弱性・Log4Shellのネタ画像をまとめた「log4j memes」 - GIGAZINE
-
「Log4j」の脆弱性によるセキュリティ危機には、さらに深刻な“第2波”がやってくる | WIRED.jp : ransomware がこの脆弱性を利用してくるのはこれから,という予想
-
Log4jの脆弱性を検証、NTTデータ先端技術がレポートを発表 ~「脆弱性の悪用が可能なことを確認」 - アイマガジン|i Magazine|IS magazine
参考図書
- Spring Data JPAプログラミング入門
- 溝口賢司 (著)
- 秀和システム 2017-08-03 (Release 2018-04-23)
- Kindle版
- B07CKHR8C1 (ASIN)
- 評価
JPA のお勉強用に購入。紙のほうはプレミアが付いてるっぽいが Kindle で買えるよ。固定レイアウトだからブラウザの Kindle Cloud Reader で読めるし。真面目に基本を押さえて書いていて分かりやすい。
- Effective Java 第3版
- Joshua Bloch (著), 柴田 芳樹 (翻訳)
- 丸善出版 2018-10-30
- 単行本(ソフトカバー)
- 4621303252 (ASIN), 9784621303252 (EAN), 4621303252 (ISBN)
- 評価
再勉強中。 Kindle 版のほうがちょっと安いが,勤務先でも使いたかったので紙の本にした。
- Spring Boot 2 入門: 基礎から実演まで
- 原田 けいと (著), 竹田 甘地 (著), Robert Segawa (著)
- 2020-05-22 (Release 2020-05-22)
- Kindle版
- B0893LQ5KY (ASIN)
- 評価
Spring Boot を勉強することになって急遽買った本。めっさ分かりやすかった。 PDF 版が欲しいくらい(笑) Spring Boot 3.2 対応にアップデートされていた。素敵!
- Java言語で学ぶデザインパターン入門第3版
- 結城 浩 (著)
- SBクリエイティブ 2021-11-12 (Release 2021-11-13)
- Kindle版
- B09HK66P5X (ASIN)
- 評価
なんと! 結城浩さんのデザパタ本の第3版が出た。古典的なデザインパターン23個はそのままに,最近の Java の言語仕様に合わせてコードが一新されている。