我一直在研究如何加固我的Windows机器以抵御最近的log4j漏洞(CVE-2021-44228,CVE-2021-45046,CVE-2021-45105)。
在Minecraft的官方网站上,开发者声称升级到v1.18.1可以解决这个问题。我照做了,但是发现log4j的易受攻击版本(2.14.1)仍然存在于%APPDATA%/.minecraft/libraries
中,并且仍然包含JndiLookup.class
。因此,在我看来,开发人员所做的唯一事情就是设置log4j2.formatMsgNoLookups
系统属性。这是,根据Apache,这还不够(请参阅https://logging.apache.org/log4j/2.x/)。
我试过了:
- 通过手动将log4j的2.17.0版本放置在
%APPDATA%/.minecraft/libraries
中来自己更新log4j。 - 从2.14.1-jar中手动删除
JndiLookup.class
- 用2.17.0覆盖2.14.1版本
但每次推出游戏后,老版本又回来了。看来游戏是在确保第三方库的有效性和完整性。通常,我会认为这是一件好事,但在这种情况下,它完全相反。
有没有人成功地推出了安全版本的2.17.0版的Minecraft?
1条答案
按热度按时间bq8i3lrv1#
一个简单的解决方案是运行MinecraftForge(Download)。他们通过升级到2.15版本解决了Log4j的安全漏洞:https://github.com/MinecraftForge/MinecraftForge/commit/14e152579b8cbdb5f6c2e9ba089bf7971a1a727a