【发布时间】: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 开发者讨论。
标签: java log4j log4j2 minecraft