防止minecraft(Java)下载log4j 2.14.1

rbl8hiat  于 2022-11-06  发布在  Java
关注(0)|答案(1)|浏览(112)

我一直在研究如何加固我的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?

bq8i3lrv

bq8i3lrv1#

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

相关问题