log4j2の脆弱性によるMinecraftへの影響
log4jで任意コード実行の脆弱性
Java界隈で御用達なログ出力ライブラリ Apache Log4j2 jndi RCE#apache #rcehttps://t.co/ZDmc7S9WW7 pic.twitter.com/CdSlSCytaDlog4j
の第2世代、log4j2に、
任意コードが実行可能な脆弱性が報告されています。
log4j2のGitHubでissueに報告されており、議論が進んでいるようです。
IPAの脆弱性情報受付フォームの方には、ネットから集めた情報を投げておきました
Minecraftでの影響
Minecraft(以下MC)では、ログファイルを出力するために、本脆弱性を持つlog4j2が使用されています。MCバージョンによって使用しているlog4j2のバージョンは異なりますが、 MC1.17.1で暫定的に有害事象の発生が確認できました。
本脆弱性の発現のトリガーは、特定文字列がサーバまたはクライアントに記録される事、となっており、 マルチプレイのサーバ環境では、サーバもユーザも対策が必要になります。
対応策
サーバ側
影響範囲は、全サーバ環境と思われます。
バニラ・Forge・Bukkit系統 などでそれぞれ最新版のリリースを監視し、適用しましょう
暫定対応として、以下の対応が有効らしいです。
サーバ起動のためのbatファイルで、起動引数に対策コードを追加しましょう
@echo off
java -Xms1024M -Xmx1024M -Dlog4j2.formatMsgNoLookups=true -jar spigot-1.17.1.jar nogui
プレイヤーによるチャット発言の他、殺害ログでのアイテム名等にも反応して脆弱性が突かれます。
クライアント側
影響範囲は、全クライアントです。全MCバージョン、Mod有無は関係ありません。
バニラ環境は、MC1.12以上を対象に、ランチャーの再起動によりパッチが適用されるらしいです
A critical security issue has been found that affects Minecraft. If you have the game running, please shut down all running instances of the game and Launcher and restart - your Launcher will automatically download the fix.
— slicedlime (@slicedlime) December 10, 2021
暫定対応として、MC1.17以上では、以下の対応が有効のようです。
起動構成の詳細なオプションに存在する「JVMの引数」に対策コードを追記します。
-Dlog4j2.formatMsgNoLookups=true
復習
本件、Minecraftに限らず広範にlog4jを使用している環境での影響が懸念されます。事象は深刻で、早急な対応が必要です
Twitterを観測していると、かなり急速にパッチの作成などの対応が進んでいるようです。
最新の状況を追いかけておくことが必要な状況と思われます
私自身が開発したプラグインやModでの影響調査はこれから行い、必要な対応があれば実施する予定です