漏洞公告
近日,安恒信息CERT监测到XStream官方发布了安全公告,修复了XStream拒绝服务漏洞(CVE-2022-41966),CVSS评分8.2。该漏洞是由于XStream中存在堆栈溢出漏洞,攻击者可以通过操纵输入流来替换或注入对象造成堆栈溢出,从而导致拒绝服务。该漏洞影响范围广泛,官方已发布安全版本,建议受影响的用户尽快采取安全措施。
参考链接:
https://x-stream.github.io/CVE-2022-41966.html
一
影响范围
受影响版本:
XStream < 1.4.20
安全版本:
XStream >= 1.4.20
二
漏洞描述
细节是否公开 | POC状态 | EXP状态 | 在野利用 |
是 | 已公开 | 未公开 |
未发现 |
三
缓解措施
漏洞自查方法:
2、若程序使用gradle打包,可查看gradle依赖版本:
通过以上方式查看版本号,若版本在漏洞影响范围之内,则可能受到该漏洞的影响。
官方建议:
1、目前官方已发布安全版本修复上述漏洞,建议受影响的用户升级至安全版本。
下载链接:
临时缓解措施:
1、在调用XStream的代码中捕获StackOverflowError异常。
2、如果对象图不引用任何元素,可以设置为NO_REFERENCE模式:
XStream xstream = new XStream();
xstream.setMode(XStream.NO_REFERENCES);
3、如果对象图既不包含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
});
4、如果只使用HashMap或HashSet并且XML仅将这些引用为默认值映射或集合时,还可以更新反序列化时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);
安恒信息CERT
2022年12月
原文始发于微信公众号(安恒信息CERT):XStream拒绝服务漏洞风险提示(CVE-2022-41966)
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论