該頁面的內容不代表Mojang Studios或Minecraft Wiki的官方意見。
警吿:Apache Log4j2 遠程代碼執行錯誤(CVE-2021-44228)十分嚴重。
此錯誤可能導致計算機資料安全受到嚴重威脅,請務必重視。
本教學介紹了修復Apache Log4j2相關錯誤的方法。
錯誤緣由
開源Java日誌框架Apache Log4j2被曝出存在高危遠程代碼執行錯誤。由於Java版的大部分版本使用了使用了該日誌框架,絕大多數Minecraft玩家都可能因該錯誤而遭受攻擊。
錯誤危害
攻擊者可利用該錯誤在未經授權的情況下在玩家電腦上執行任意命令,其中不乏下載病毒、佔用系統資源、竊取私隱等惡意命令。由於該錯誤存在範圍廣、利用門檻極低,會給玩家帶來極高的安全隱患。
影響範圍
註:此處只列舉了被影響的Minecraft遊戲版本。實際上所有使用了此日誌框架的程式都受此錯誤影響。
13w39a~1.18.1-rc2全部用戶端與伺服器端,包括:
- 原版用戶端與伺服器端
- 安裝了模組的用戶端與伺服器端
- Paper、Spigot等大多數第三方伺服器端
- 其他滿足上述範圍的Java版用戶端與伺服器端
以下版本不受影響:
- 基岩版(所有版本)
- 13w38c及以下版本
- 1.18.1-rc3及以上版本
- BungeeCord伺服器端
檢驗方式
- 用戶端可以在遊戲內聊天框輸入
${jndi:ldap://www.mcbbs.net}來檢驗是否存在log4j錯誤。如果輸入後出現短暫卡頓現象,則説明錯誤存在(但要注意的是,某些用戶端輸入其他文字也會卡頓一下,所以應當嘗試先輸入普通聊天文字再嘗試;而離線模式本身就不應存在卡頓現象);如果沒有出現卡頓現象,則説明用戶端是安全的。 - log4j 2.15.0-rc2及更新的版本已經修復了此錯誤,請檢查你的用戶端是否套用了新的log4j,可以在
.minecraft\libraries\org\apache\logging\log4j查看;然後瀏覽遊戲版本的.json檔案,檢查啟動器是否使用了此版本的log4j進行啟動,檔案位置在.minecraft\versions\游戏版本号裡。
修複方式
原版用戶端
- Minecraft官方啟動器
- 關閉遊戲、重新啟動啟動器。已修復的版本會自動下載。
- 第三方啟動器
- 關閉遊戲,將啟動器更新到最新版本,並留意更新日誌中是否説明修復了此錯誤。如果沒有,請參照#臨時防禦方案修復。
- PCL、HMCL、BakaXL等第三方啟動器均已針對此錯誤進行了緊急更新,如果你正在使用這些啟動器,請儘快升級到最新版本。
模組載入器
- Fabric
- 將Fabric Loader更新到0.12.9及以上版本。
- Forge
- Forge聲明其多個版本已包含針對此次log4j錯誤的緊急更新,推薦的版本:
- 1.18-38.0.17
- 1.17.1-37.1.1
- 1.16.5-36.2.20
- 1.15.2-31.2.56
- 1.14.4-28.2.24
- 1.13.2-25.0.221
- 1.12.2-14.23.5.2856
- 1.12.2與1.16.5版本可嘗試安裝此修復mod來進行修復。
- 其他模組載入器
- 由於多數其他模組載入器已停更,它們都已不再安全,請修復啟動器,或參照#臨時防禦方案修復。
原版伺服器端
- 1.18
- 關閉伺服器端,升級到1.18.1,或者按照1.17的方法修復。
- 1.17
- 關閉伺服器端,在啟動腳本中加入JVM參數:
-Dlog4j2.formatMsgNoLookups=true
- 1.12~1.16.5
- 關閉伺服器端,下載此檔案到伺服器的工作路徑。然後在啟動腳本中加入JVM參數:
-Dlog4j.configurationFile=log4j2_112-116.xml
- 1.7~1.11.2
- 關閉伺服器端,下載此檔案到伺服器的工作路徑。然後在啟動腳本中加入JVM參數:
-Dlog4j.configurationFile=log4j2_17-111.xml
第三方伺服器端
- Paper、WaterFall、Velocity、Spigot
- 這些伺服器端均已發佈緊急更新,請關閉伺服器端,更新到最新版本。
- BungeeCord
- 不受影響,無需操作。
- 其他伺服器端
臨時防禦方案
以下方案僅適用於使用log4j 2.10.0及以上版本的用戶端或伺服器端。[1]
- 如果可以,加入JVM參數:
-Dlog4j2.formatMsgNoLookups=true - 將系統環境變數
FORMAT_MESSAGES_PATTERN_DISABLE_LOOKUPS設定為true
敬請參閱
- 官方網站上的公吿:"Important Message: Security vulnerability in Java Edition"
- MCBBS上的公吿翻譯:「重要訊息:Java 版中的安全錯誤」
- MCBBS上的伺服器修復指南:【2021.12.10】 Log4j 0day CVE 錯誤警示及修復指南
- 火絨安全實驗室的專欄:附修復建議| Apache Log4j 遠程代碼執行錯誤通吿
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||