关于 XStream 任意文件删除和服务端请求伪造高危漏洞的预警

请问CUBA产品是否有使用XStream?(CUBA Studio Version: 6.7.1)

漏洞成因:

XStream是一个常用的Java对象和XML相互转换的工具。如果代码中使用了XStream,未授权的远程攻击者,可构造特定的序列化数据造成任意文件删除或服务端请求伪造。

1、CVE-2020-26259: 任意文件删除漏洞

XStream存在一处反序列化漏洞,攻击者可通过序列化一个实体化对象,将序列化好的数据发送到目标服务器上,后台在对序列化数据进行反序列化操作时会造成任意文件删除漏洞。

2、CVE-2020-26258: 服务端请求伪造漏洞

运行XStream的服务在处理反序列化数据时,攻击者构造特定的XML/JSON请求,可以造成服务端请求伪造。

影响版本:

XStream <= 1.4.14

CUBA 确实有用到 XStream。但是根据 CVE-2020-26259 网页的描述,如果配置了安全策略,则不会受到影响:

No user is affected, who followed the recommendation to setup XStream's security framework with a whitelist.

而根据 XStream 安全策略 部分的描述,1.4.10 以上版本已经默认使用了 XStream#setupDefaultSecurity 白名单的方式防范这种攻击:

Use XStream.setupDefaultSecurity() to install the default whitelist of 1.5.x already with 1.4.10 or higher.

你方便查一下项目中用到的 XStream 版本吗?在 project视图的 External Libraries 下,包名是 com.thoughtworks.xstream
image

我们用的是6.7.1版本,如何操作查看
image

项目 deploy 之后,在 deploy->tomcat->shared->lib 目录找找 xstream 的 jar

多谢,经查,使用的是1.4.2,不在此次影响范围内

你前面说:影响版本: XStream <= 1.4.14;
但是你查到的是1.4.2,版本号是按数字比较, 1.4.2比1.4.14小

1 个赞