防止 minecraft (Java) 下载 log4j 2.14.1

Posted

技术标签:

【中文标题】防止 minecraft (Java) 下载 log4j 2.14.1【英文标题】:Prevent minecraft (Java) from downloading log4j 2.14.1 【发布时间】:2022-01-23 02:03:45 【问题描述】:

我一直在研究如何针对最近的 log4j 漏洞(CVE-2021-44228、CVE-2021-45046、CVE-2021-45105)强化我的 Windows 机器。幸运的是,我唯一拥有的 java 应用程序是 minecraft。

在我的世界官方网站上,开发者声称升级到 v1.18.1 将解决该问题。我这样做了,但发现 log4j (2.14.1) 的易受攻击版本仍然存在于 %APPDATA%/.minecraft/libraries 并且仍然包含 JndiLookup.class。所以在我看来,开发人员所做的唯一事情就是设置log4j2.formatMsgNoLookups 系统属性。根据 Apache 的说法,这还不够(请参阅 https://logging.apache.org/log4j/2.x/)。

我试过了:

通过手动将 2.17.0 版本的 log4j 放入 %APPDATA%/.minecraft/libraries 自行更新 log4j。 从 2.14.1-jar 中手动删除 JndiLookup.class 用 2.17.0 覆盖 2.14.1 版本

但每次启动游戏后,旧版本又回来了。似乎游戏正在确保其第三方库的有效性和完整性。通常,我会认为这是一件好事,但在这种情况下,情况恰恰相反。

有人设法用安全版本的 2.17.0 启动了我的世界吗?关于如何欺骗的任何提示

【问题讨论】:

真的。这应该与 Minecraft 开发者讨论。 【参考方案1】:

一个简单的解决方案是运行 MinecraftForge (Download)。他们通过升级到 2.15 版解决了 Log4j 安全漏洞: https://github.com/MinecraftForge/MinecraftForge/commit/14e152579b8cbdb5f6c2e9ba089bf7971a1a727a

【讨论】:

以上是关于防止 minecraft (Java) 下载 log4j 2.14.1的主要内容,如果未能解决你的问题,请参考以下文章

minecraft我的世界找不到server.properties这个文件

[Minecraft] 注册了微软账户并且购买了Java版和基岩版,但是官方启动器显示无法连接?

Minecraft Fabric 教程 #1 开发环境配置

Minecraft Fabric Client 教程 #1 配置开发环境

Minecraft Fabric Client 教程 #5 添加EventSprint和ToggleCommand

Minecraft Client 教程 #1 配置开发环境