CVE-2025-62782InventoryGui是一个用于为Bukkit/Spigot插件创建chest GUI界面的Java库。该库在1.6.3-SNAPSHOT及更早版本中存在严重的安全漏洞,当Minecraft服务器启用了实验性Bundle item功能时,使用GuiStorageElement组件的GUI界面可能允许攻击者实现物品复制。这一漏洞源于库在处理Bundle物品时的验证机制不完善,攻击者可以通过特定操作序列绕过物品数量检查,从而在游戏中非法复制珍贵物品或资源。该漏洞影响所有使用InventoryGui库创建存储GUI的Minecraft服务器,可能导致游戏经济系统失衡、稀有物品通货膨胀等严重后果。攻击者无需特殊权限即可利用此漏洞,对游戏公平性和服务器经济造成破坏性影响。
该漏洞的核心问题在于InventoryGui库的GuiStorageElement组件在处理Minecraft实验性Bundle物品时的逻辑缺陷。Bundle是Minecraft的一种实验性功能,允许玩家将多个物品打包存储。当服务器启用此功能后,GuiStorageElement在处理Bundle物品时未能正确验证物品数量的变化。攻击者可以通过以下方式利用:1) 在GUI界面中放置Bundle物品;2) 快速执行取出和放回操作;3) 利用Bundle物品的特殊存储机制绕过数量检查。由于库代码在更新物品状态时存在竞态条件或验证缺失,导致最终保存的物品数量大于原始数量。漏洞存在于com.github.invahgui.core模块的GuiStorageElement类中,具体为物品状态同步逻辑存在缺陷。攻击者可在不触发任何警告的情况下重复操作,每次复制少量物品,具有较高的隐蔽性。