防止 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 Client 教程 #1 配置开发环境