Minecraft Japan Communityを発足しました!参加はこちらから!!

【早急に対応を】マイクラにも波及する深刻な脆弱性への対応方法【Log4j2】

Minecraft

Javaのアプリケーションで広く使われているライブラリのLog4j 2に深刻な脆弱性が見つかりました。

この脆弱性が悪用されると任意のリモートコードを実行なためクライアントやサーバーのあらゆるデータや機能へアクセス可能であり非常に危険な状態です。

クライアントの場合はMinecraftへ外部からアクセスができる場合に限り脆弱性が悪用される可能性があるものですが、念には念を入れ脆弱性の対応をしましょう。

脆弱性の概要

まずは本件脆弱性がどのようなものか紹介し、事の深刻さを知ってもらおうと思います。

この脆弱性はプログラミング言語のJavaでコンピュータのログを出力したりするフレームワークと呼ばれるプログラム群の一部に問題があり引き起こされています。

影響範囲

影響範囲はかなり広く、本記事はMinecraftに限って説明します。

少なくとも下Minecraft 1.8から1.18までで影響があると確認されています。

製品名 脆弱性対応バージョン備考
MinecraftMinecraft 1.18.1以降クライアントとサーバーいずれも脆弱性あり
スナップショットではMinecraft 1.18.1 rc3で対応済
Forge確認中
OptiFineMinecraft 1.12以降OptiFineにより追加されたランチャーの起動構成の場合はMinecraft 1.12以降であれば修正パッチ適用
The Twilight Forest対応不要
Fabric確認中
CraftBukkit確認中
SpigotMinecraft 1.18以降の最終メジャーバージョンを再ビルドすると対応可能
Spigotのビルド方法はこちらの記事で紹介しています(1.17.1の場合の記事ですが応用可能)
Minecraft 1.8世代の場合はMinecraft 1.8.8で対応可能
Paper確認中
Minecraftにおけるlog4j2の脆弱性対応バージョン

なおMinecraft 1.12以降の場合はMinecraftランチャーを一度立ち上げ直すことで修正パッチの適用がれるようです。

Minecraft 1.11世代までのバージョンについてはクライアントに対して修正パッチが適用されないようです。

脆弱性への対応方法

脆弱性へはMinecraft 1.12以降は修正パッチで、Minecraft 1.18.1以降は正式リリースで対応されていますが、例えばMinecraft 1.8をプレイしたいような場合は次の対応を行ってください。

クライアント

Minecraftをプレイするユーザーの方は次の方法で問題を回避できます。

前述の通りMinecraft 1.12以降のクライアントの場合はMinecraftランチャーを立ち上げ直すことで修正パッチが適用されるようです。

修正パッチ等が入手できていても怖いものは怖いという方や古いMinecraftをプレイしたい方は下記操作を行いましょう。

ランチャーを起動して上部の「起動構成」から設定を変更します。

Minecraftランチャーを立ち上げた状態
Minecraftランチャーを立ち上げた状態

起動構成には自分で作成した起動構成やMODなどが自動で作成した起動構成などが並んでいますが、今回は最新のリリースバージョンに脆弱性対策を行います。

起動構成にカーソルを当てると「…」が出現しますのでカーソルを当て「編集」をクリックします。

Minecraftランチャーで起動構成を表示した様子
Minecraftランチャーで起動構成を表示した様子

「起動構成の編集」が開いたら「詳細なオプションを表示」でオプションを展開し、「JVMの引数」の箇所の内容を編集します。

Minecraftランチャーで起動構成の編集を開いた状態
Minecraftランチャーで起動構成の編集を開いた状態

JVMの引数はデフォルトで下記のようになっています。

-Xmx2G -XX:+UnlockExperimentalVMOptions -XX:+UseG1GC -XX:G1NewSizePercent=20 -XX:G1ReservePercent=20 -XX:MaxGCPauseMillis=50 -XX:G1HeapRegionSize=32M

この設定項目の中に「-Dlog4j2.formatMsgNoLookups=true」を追加することで、脆弱性がある部分が無効化されます。

実際に設定すると次のようになります。

-Xmx2G -XX:+UnlockExperimentalVMOptions -XX:+UseG1GC -XX:G1NewSizePercent=20 -XX:G1ReservePercent=20 -XX:MaxGCPauseMillis=50 -XX:G1HeapRegionSize=32M -Dlog4j2.formatMsgNoLookups=true

設定を変更しましたら「保存」をクリックしましょう。

サーバー

サーバーの場合は起動時のコマンドに「-Dlog4j2.formatMsgNoLookups=true」を含めることで脆弱性の機能を無効化できます。

java -Xms1024M -Xmx1024M -Dlog4j2.formatMsgNoLookups=true -jar server.jar nogui

詳しいことが分かり次第追記していきます。

サーバー管理者に限らずMinecraftをプレイする方が安心して遊べるように、この問題の周知をお願いします。

リンク

モバイルバージョンを終了