崩溃漏洞修复

崩溃漏洞修复

这个模组修复了Minecraft中发现的一堆崩溃漏洞。

Bug修复

CrashExploitFixer

该模组目前为从 1.14.4 到最新版的所有受影响 Minecraft 版本修复了三种不同的漏洞利用!

实体选择器 NBT 栈溢出

在 Minecraft 1.14.4 至撰写本文时的最新版本中存在一个栈溢出漏洞,攻击者可以通过滥用实体选择器内深度嵌套的 NBT 数据来使服务器崩溃,导致 TagParser 中的递归解析耗尽 JVM 栈。虽然 Minecraft 1.21.1 阻止了非特权玩家通过实体选择器触发该问题,但管理员和创造模式玩家仍可在未修复的服务器上复现该崩溃。值得注意的是,PaperMC 在数月前就发现并修复了底层的解析器问题。

haykam 的博客文章:haykam.com

过度的网络对象分配

一个影响 Minecraft 网络通信的拒绝服务漏洞允许已认证的玩家通过发送恶意数据包使服务器崩溃,这些数据包在通过 FriendlyByteBuf.readCollection、FriendlyByteBuf.readMap 或相关方法进行集合反序列化时触发了过度的内存分配。虽然该问题可通过 Fabric API 数据包以及不同加载器上的许多模组数据包被利用,但 NeoForge 和 Fabric 已为其最活跃的版本修复了该问题(NeoForge:1.21.1 和 26.1,Fabric:1.20.1、1.21.1、1.21.11、26.1、26.2)。CrashExploitFixer 为 Forge、NeoForge 和 Fabric 的所有版本修复了该问题,并与其修复兼容。

非常感谢 Paul 私下报告了此问题

NeoForge 的博客文章:neoforged.net

可翻译组件膨胀

一个影响 Minecraft 1.16 至 1.21.4 的拒绝服务漏洞允许攻击者构造递归膨胀的文本组件,这些组件在解析、展平或调用诸如 Component#getString() 等方法时可能膨胀成巨大的字符串,导致严重的内存耗尽以及客户端或服务器软崩溃。更新的研究表明,在原版 1.20.5–1.21.4 中,特制的悬停事件载荷可以在没有提升权限的情况下触发该问题。PaperMC 多年来已经防护了此类漏洞利用,而模组环境由于在网络数据包中广泛使用 FriendlyByteBuf#readComponent() 及相关组件反序列化路径,仍然特别容易受到攻击。

非常感谢 Paul 私下报告了此问题