关键信息 漏洞描述 漏洞编号: CVE-2024-47072 受影响版本: 所有版本直到和包括版本 1.4.20,如果使用 XStream 的 BinaryStreamDriver。 描述: XStream 提供了一个 BinaryStreamDriver,使用自己的优化序列化格式。格式使用 id 作为字符串值的去重。在反序列化时,读取器的实现简单地使用了一次递归处理下一个正常令牌的数据流。然而,通过操纵输入数据,可以触发无限递归,导致栈溢出,从而引发拒绝服务。 重现步骤 1. 准备被操纵的数据。 2. 将数据作为输入提供给 XStream 实例,使用 BinaryDriver。 3. 使用以下代码示例: 影响 远程攻击者可以通过操纵输入流,触发栈溢出错误,导致拒绝服务,前提是实例使用了 BinaryStreamDriver。 工作绕过 简单的解决方案是在调用 XStream 的客户端代码中捕获 StackOverflowError。没有已知的其他工作绕过方法,当使用 BinaryStreamDriver 时。 信用 该漏洞由 Trail Of Bits 的 Alexis Challande 发现并报告给 XStream。