通过反射从 Interpolator 中移除 JNDI lookup,并替换默认的 LoggerContextFactory,以捕获在此 mod 之后加载的任何 LoggerContext,从而修复 minecraft forge 1.7.10 - 1.12.2 中的安全漏洞 CVE-2021-44228(也称为 Log4Shell)。如果你想了解我具体是如何修补的技术细节,请直接参考源代码。
目前仅适用于 minecraft 1.12 及更早版本。已在 1.7.10 和 1.12.2 上测试。
如果有任何 mod 试图以编程方式修改日志配置,由于这种彻底的修补方式,它们会惨烈失败。为了解决这个问题,healer 会将修补推迟到足够靠后的阶段,等这些 mod 完成它们的修改后再进行。
截至目前,healer 已内置支持以下 mod。
如果你遇到其他 mod 崩溃,并出现类似 ClassCastException: cannot cast XXXXXXXX to org.apache.logging.log4j.core.impl.Log4jContextFactory 的日志,那么你就踩中了这类 mod 之一。
要修复这个问题,请到我的 issue tracker投诉,或者在你的 JVM 启动参数中添加 -Dnet.glease.healer.patch_stage=XXXX,其中 XXXX 可以是 PRELOAD, PREINIT, INIT, POSTINIT 中的任意一个(按时间顺序排列,越早的越靠前)。通常 PREINIT 就足以缓解问题,而 POSTINIT 应该足以解决所有问题。
友情链接: 网易我的世界 | 泰拉瑞亚 | ocent云计算 | 米饭Minecraft插件文档 | 友链合作
历史访问人数:160,001 | 历史访问人次:258,122
今日访问人数:20,389 | 今日访问人次:23,208
昨日访问人数:25,313 | 昨日访问人次:28,419
Copyright © 2019-2026 我的世界服务器列表站. All rights reserved.
❤ Powered by GermMC 京ICP备17023959号-6