「やばすぎる」 Javaライブラリ「Log4j」にゼロデイ脆弱性、任意のリモートコードを実行可能 iCloudやSteam、Minecraftなど広範囲のJava製品に影響か
コメント
注目のコメント
MINECRAFTは修正バージョンがリリースされたようですね。
攻撃が多発しているようなので、関連してそうなサーバーを使用している場合は、利用を停止した後、バージョンアップが必要です。
一般ユーザーからしたら、関連しているかどうかは運営元でないと把握しづらいですし、サーバーで動いているプログラムの弱点への攻撃なのでほとんどどうしようもないのですが、日頃からソフトウェアとアプリのバージョンアップは欠かさず行いましょう。ソースコードの履歴を追ってみましたが、これLDAPの問題というより設計の問題ですね。
log4j2にはlookupという設定パラメーターをどっかから拾ってきてロギング設定にセットする機能があって、例えば設定ファイルに"$${env:PASSWORD}"というパターンを埋め込んでおくとlog4j2はそれを解釈して環境変数PASSWORDの値を設定にセットしてくれる。まあ便利。
問題は、このlookupのパターンが設定ファイルのみならずログメッセージ中にあると何故かそれも解釈されてしまうこと。どうしてそうなったかイマイチ解釈出来ないのですが、この振る舞い自体はベータ版にすらなっていない10年以上前から存在する根深いもの。
そしてこのlookupは拡張が容易な仕組みになっていて、大量のlookupが追加される中でLDAP等にもアクセス可能なJNDI用のlookupが追加されることで地雷を踏み抜いた形。
このメッセージ中のlookupについては2014年には問題が指摘されていて後にこれを無効可するオプションが追加されるもデフォルトでは無効可されていませんでした。
まあ、頭が痛いです。
今のところ公開されている手法は攻撃コードを外部からダウンロードするものなので、サービス側のライブラリや設定の更新はもちろん、外向きのトラフィックが全開なんて脳天気なネットワーク設定の場合はそれを塞ぐのも至急の対応となるでしょう。これは久しぶりの大物脆弱性ですね。log4j は Java のメジャーなログライブラリで、Java で作られているシステムには log4j を採用しているものが非常に多いです。脆弱性の内容も、ほぼ任意のコードを実行できるというもので、影響範囲の大きさが心配です。
※ ちなみに NewsPicks では利用していません。