XStream是一个Java对象和XML相互转换的工具,用来将对象序列化成XML(JSON)或将XML反序列化为对象,并提供所有的基础类型、数组、集合等类型直接转换的支持。
近日,奇安信CERT监测到XStream中存在拒绝服务漏洞(CVE-2022-41966),XStream在将XML反序列化为对象时存在堆栈溢出,未经身份验证的远程攻击者通过操纵输入流,使XStream在递归散列计算时触发堆栈溢出,导致拒绝服务。目前,此漏洞技术细节与POC已公开。鉴于此漏洞影响范围较大,建议客户尽快做好自查,及时更新至最新版本。
漏洞名称 | XStream 拒绝服务漏洞(CVE-2022-41966) | ||
公开时间 | 2022-12-28 | 更新时间 | 2022-12-28 |
CVE编号 | CVE-2022-41966 | 其他编号 | QVD-2022-47322 |
威胁类型 | 拒绝服务 | 技术类型 | 不受控的资源消耗 |
厂商 | XStream | 产品 | XStream |
风险等级 | |||
奇安信CERT风险评级 | 风险等级 | ||
高危 | 蓝色(一般事件) | ||
现时威胁状态 | |||
POC状态 | EXP状态 | 在野利用状态 | 技术细节状态 |
已公开 | 未发现 | 未发现 | 已公开 |
漏洞描述 | XStream中存在拒绝服务漏洞。XStream(com.thoughtworks.xstream:xstream)在将XML反序列化为对象时存在堆栈溢出,未经身份验证的远程攻击者通过操纵输入流来替换或注入对象,使XStream在递归散列计算时触发堆栈溢出,导致拒绝服务。 | ||
影响版本 | XStream < 1.4.20 | ||
不受影响版本 | XStream >= 1.4.20 | ||
其他受影响组件 | 无 |
奇安信CERT已成功复现XStream 拒绝服务漏洞(CVE-2022-41966),截图如下:
威胁评估
漏洞名称 | XStream 拒绝服务漏洞 | |||
CVE编号 | CVE-2022-41966 | 其他编号 | QVD-2022-47322 | |
CVSS 3.1评级 | 高危 | CVSS 3.1分数 | 8.2 | |
CVSS向量 | 访问途径(AV) | 攻击复杂度(AC) | ||
网络 | 低 | |||
所需权限(PR) | 用户交互(UI) | |||
不需要 | 不需要 | |||
影响范围(S) | 机密性影响(C) | |||
不改变 | 无 | |||
完整性影响(I) | 可用性影响(A) | |||
低 | 高 | |||
危害描述 | XStream中存在堆栈溢出,未经身份验证的远程攻击者通过操纵输入流来替换或注入对象,使XStream在递归散列计算时触发堆栈溢出,消耗系统的内存和 CPU资源,导致拒绝服务。 |
处置建议
1、安全更新
目前XStream官方已发布安全版本修复该漏洞,建议受影响用户尽快更新至对应的安全版本。
https://x-stream.github.io/download.html
2、缓解措施
在调用XStream的代码中捕获StackOverflowError 异常,如:
如果对象图不引用任何元素,可以设置为NO_REFERENCE模式:
XStream xstream =new XStream();
xstream.setMode(XStream.NO_REFERENCES);
如果对象图既不包含Hashtable、HashMap也不包含 HashSet(或它其他变种),那么可以使用安全框架来拒绝使用这些类型:
XStream xstream = new XStream();
xstream.denyTypes(new Class[]{
java.util.HashMap.class, java.util.HashSet.class, java.util.Hashtable.class, java.util.LinkedHashMap.class, java.util.LinkedHashSet.class
});
可更新反序列化时 java.util.Map和java.util.Set的默认实现:
xstream.addDefaultImplementation(java.util.TreeMap.class,java.util.Map.class);
xstream.addDefaultImplementation(java.util.TreeSet.class,java.util.Set.class);
参考资料
[1]https://x-stream.github.io/CVE-2022-41966.html
声明:本文来自奇安信 CERT,版权归作者所有。文章内容仅代表作者独立观点,不代表安全内参立场,转载目的在于传递更多信息。如有侵权,请联系 anquanneican@163.com。