BBSMC Logo
模组
资源包
数据包
整合包
光影
插件
软件资源
论坛
登录
模组插件数据包光影资源包整合包资源
登录
设置
Healer

Healer

为我的世界 forge 1.7.10 - 1.12.2 修补 CVE-2021-44228

10
0
优化

基本信息

我的世界Java版本

1.12.x
1.11.x
1.10.x
1.9.x
1.8.x
1.7.x

平台

\n \n \n Forge

运行环境

客户端
服务端
客户端和服务端

其他链接

反馈问题 查看源码
Modrinth地址

搬运团队

BBSMC 官方搬运(1)
BBSMC 官方搬运(1)团队

详情信息

许可证 MIT
发布于 7 months ago
更新于 9 months ago
简介更新日志版本百科反馈讨论

为 Minecraft Forge 1.7.10 - 1.12.2 修补安全漏洞 CVE-2021-44228(也称为 Log4Shell),通过使用反射从插值器中删除 JNDI 查找,并替换默认的 LoggerContextFactory 以捕获在此 mod 之后加载的任何 LoggerContext。有关我如何修补它的更具体技术说明,请参考源代码。

目前仅适用于 Minecraft 1.12 及更早版本。在 1.7.10 和 1.12.2 上进行了测试。

兼容性

如果任何 mod 尝试以编程方式调整日志配置,由于进行了详尽的修补,它们将惨败。为了解决这个问题,healer 将修补推迟到足够晚,直到上述 mod 完成编辑。

截至目前,healer 已内置支持以下 mod。

  • ForgeEssentials

如果您的其他 mod 因日志行如ClassCastException: cannot cast XXXXXXXX to org.apache.logging.log4j.core.impl.Log4jContextFactory而崩溃,那么您已经踩到了这些 mod 之一。

要解决此问题,请在我的问题跟踪器上提出投诉,或在 JVM 启动参数中添加-Dnet.glease.healer.patch_stage=XXXX,其中 XXXX 可以是PRELOAD、PREINIT、INIT、POSTINIT(按时间顺序,最早的为第一个)。PREINIT 通常足以缓解问题,POSTINIT 应该足以解决所有问题。

对于普通玩家

  1. 如果您的启动器已经修补了此漏洞,您将不需要此 mod 来修补漏洞。
  2. 如果您应用了 mojang 的修复,您将不需要此 mod 来修补漏洞。
  3. 如果您有针对 1.7 的 FoamFix,您将不需要此 mod 来修补漏洞。
  4. 如果您使用了其他修复 mod,请询问其原始作者他们是否可以“捕获在其 mod 之后加载的任何 LoggerContext”,如果是,您将不需要此 mod。否则,用此 mod 替换该 mod,或使用为您进行修补的启动器,例如 MultiMC。

对于模组包制作者

  1. 我建议您在客户端包中包含此 mod,如果它适用于 Minecraft 1.7~1.12.2。这将保护您的用户,他们可能还不知道此问题,并且碰巧使用了尚未修补此漏洞的启动器。
  2. 如果您还分发服务器包,并且适用于 Minecraft 1.7~1.12.2,如果您应用了 mojang 的修复,则添加此 mod 不是必需的。然而,由于许多人不使用随您的服务器包附带的 StartServer.bat(或类似的东西),他们很可能不会使用 mojang 修复的 log4j2.xml。从技术上讲,您不应该分发编辑过的 minecraft_server-1.7.10.jar,因此添加此 jar 将是确保用户获得修复的最直接方法。
设置
"Minecraft"以及"我的世界"为美国微软公司的商标 本站与微软公司没有从属关系

本站与Modrinth无从属关系,网站遵循Modrinth网站程序的LGPL协议开源 开源地址

版权所有 © 2019-2024 青岛柒兮网络科技有限公司 | ICP经营许可证: 鲁B2-20210590 | ICP备案: 鲁ICP备2021009459号-12