xstream 版本_XStream任意文件删除/服务端请求伪造漏洞预警通报(CVE202026259/CVE202026258)...

这篇博客警告了XStream库的两个高危漏洞,CVE-2020-26258和CVE-2020-26259,可能导致任意文件删除和服务器端请求伪造。攻击者可利用这些漏洞创建新实例,影响所有XStream 1.4.14及以下版本。建议用户立即升级到1.4.15版本或应用临时修复方案,如添加类型拒绝策略。
摘要由CSDN通过智能技术生成
4d7b14001ef721946ba65e67daf76f4e.gif

大网安协【2020-77】

近日,大连网络安全信息通报机制合作单位新华三集团提醒,新华三攻防实验室监测到XStream官方更新了两则漏洞风险通告(CVE-2020-26258、CVE-2020-26259),并进行了复现和分析。

1.  漏洞综述

1.1 漏洞背景

XStream是一个简单、易用的Java类库,主要用于在Java对象和XML之间进行序列化和反序列化,支持所有的基础类型、数组及集合等类型,在进行JavaBean序列化或XML文件反序列化时,不需要其它辅助类和映射文件,使得XML序列化更简便。XStream也可以将JavaBean序列化成Json或反序列化,使用非常方便。近日,新华三攻防实验室监测到XStream官方更新了两则漏洞风险通告(CVE-2020-26258、CVE-2020-26259),并进行了复现和分析。

1.2 漏洞描述

XStream中存在反序列化漏洞,在反序列化处理的数据流中,若包含用于重新创建以前写入对象的类型信息,则可基于这些类型信息创建新的实例。未授权的远程攻击者通过替换处理后的输入流或在其中注入对象,从而可造成任意文件删除或服务器端请求伪造。目前该漏洞利用代码已公开,建议受影响用户尽快采取相关防护措施,以防造成损失。

1.3 漏洞复现

搭建存在漏洞的环境(XStream 1.4.13),成功复现两个漏洞。

XStream任意文件删除漏洞(CVE-2020-26259):构造特制的序列化数据,成功删除服务器中存在的文件。

                                             c1326ed8bcd6a576d7015d27c64bcb78.png

XStream服务端请求伪造漏洞(CVE-2020-26258):构造特制的序列化数据,可以利用该漏洞以服务器的身份发送请求给服务器所在内网环境中的其他主机。

ea011ee851e8d4a5351441b36cdc8d6f.png

3a02aef0cf3a2b116c921d34cf310bea.png

2.  影响范围

XStream <= 1.4.14

3.  严重等级

高危

4.  处置方法

4.1    官方补丁

1、XStream官方已在新版本中修复该漏洞,请升级至XStream 1.4.15及以上版本,下载链接:https://x-stream.github.io/changes.html#1.4.15

4.2临时修复方案

1、XStream 1.4.14版本中使用XStream默认黑名单的用户,可在XStream的设置代码中添加以下两行代码:

xstream.denyTypes(new String[]{ "jdk.nashorn.internal.objects.NativeString" });

xstream.denyTypesByRegExp(new String[]{ ".*\\.ReadAllStream\\$FileStream" });

2、XStream 1.4.13版本中想要使用XStream默认黑名单的用户,可在XStream的设置代码中添加以下三行代码:

xstream.denyTypes(new String[]{ "javax.imageio.ImageIO$ContainsFilter", "jdk.nashorn.internal.objects.NativeString" });

xstream.denyTypes(new Class[]{ java.lang.ProcessBuilder.class });

xstream.denyTypesByRegExp(new String[]{ ".*\\.ReadAllStream\\$FileStream" });

3、XStream 1.4.7-1.4.12版本中想要使用XStream黑名单的用户,需要设置多个黑名单:

xstream.denyTypes(new String[]{ "javax.imageio.ImageIO$ContainsFilter", "jdk.nashorn.internal.objects.NativeString" });

xstream.denyTypes(new Class[]{ java.lang.ProcessBuilder.class, java.beans.EventHandler.class, java.lang.ProcessBuilder.class, java.lang.Void.class, void.class });

xstream.denyTypesByRegExp(new String[]{ ".*\\$LazyIterator", "javax\\.crypto\\..*", ".*\\.ReadAllStream\\$FileStream" });

4、XStream 1.4.6或更低版本的用户可以注册自己的Converter,避免反序列化当前已知的Java关键类型。

xstream.registerConverter(new Converter() {

  public boolean canConvert(Class type) {

|type.getName().equals("javax.imageio.ImageIO$ContainsFilter")|type.getName().equals("jdk.nashorn.internal.objects.NativeString")| |

|type == java.lang.Void.class|void.class|Proxy.isProxy(type)|

|type.getName().startsWith("javax.crypto.")|type.getName().endsWith("$LazyIterator")|type.getName().endsWith(".ReadAllStream$FileStream"));|

  }

  public Object unmarshal(HierarchicalStreamReader reader, UnmarshallingContext context) {

    throw new ConversionException("Unsupported type due to security reasons.");

  }

  public void marshal(Object source, HierarchicalStreamWriter writer, MarshallingContext context) {

    throw new ConversionException("Unsupported type due to security reasons.");

  }

}, XStream.PRIORITY_LOW);

4.3 H3C解决方案

1、H3C安全设备防护方案

新华三IPS规则库将在1.0.115版本支持对该漏洞的识别,H3C全系安全产品可通过升级IPS特征库识别该漏洞的攻击流量,并进行主动拦截。

2、态势感知产品解决方案

H3C态势感知产品已支持该漏洞的检测,通过信息搜集整合、数据关联分析等综合研判手段,发现网络中遭受该漏洞攻击及失陷的资产。

3、H3C云安全能力中心解决方案

H3C云安全能力中心知识库已更新该漏洞信息,可查询对应漏洞产生原理、升级补丁、修复措施等。

5.  参考链接

http://x-stream.github.io/CVE-2020-26258.html

http://x-stream.github.io/CVE-2020-26259.html

4d7b14001ef721946ba65e67daf76f4e.gif

大连市信息网络安全协会于2004年5月,经市公安局和市民政局批准成立。协会是由大连市网络安全领域的监管部门、科研和教育部门、宣传媒体,从事网络安全技术服务以及产品研究开发、生产制造的企事业单位,大连市行政区划内的等级保护单位,以及从事网络安全工作的专业技术人员和管理人员,自愿参加的非营利性团体,具备法人资格。协会贯彻执行国家法律法规和政策,团结和组织社会各界关心支持等级保护工作的力量,宣传等级保护工作,增强等级保护单位的安全防范能力,发挥等级保护监管部门与等级保护单位之间的桥梁、纽带作用,反映诉求,协助监管机关规范和加强网络安全等级保护工作的管理,逐步建立和完善的网络安全保障机制,确保网络安全的社会化和产业化的健康发展,做到为监管部门、会员、行业发展服务。 

d3b106cc1604991e53f8767be66d4c02.gif

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值