【漏洞风险通告】Apache Tomcat Session反序列化远程代码执行漏洞(CVE-2020-9484)
背景描述
Tomcat是Apache软件基金会的Jakarta项目中的一个核心项目,是JAVA领域最著名的开源的Web应用服务器,有着简单、易用、稳定性好等特点,由于有Sun的参与和支持,总是体现最新的Servlet和JSP规范。Tomcat服务器属于轻量级应用服务器,通常在中小型系统和并发访问用户不是很多的场合下使用。虽然Tomcat是Apache服务器的扩展,但运行时是作为独立的进程单独运行的。
北京时间5月20日,Apache官方发布了关于修复Apache Tomcat Session反序列化远程代码执行漏洞(CVE-2020-9484)的通告。攻击者可以利用该漏洞发送恶意请求执行任意代码。
目前网上已出现利用脚本,并有了成功的攻击操作。迪普科技建议相关用户及时进行修补更新,做好相关防护措施。
严重等级
高危
漏洞描述
该漏洞源于Tomcat配置文件下的conf/context.xml文件存在不安全的配置问题。该文件可以定义FileStore类来读取文件,从而启用session持久化功能。当session中没有使用EncryptInterceptor时会导致反序列化漏洞。而且读取文件时使用了JSESSIONID的名称,会引起”/../”这样的目录穿越。攻击者可利用该漏洞精心构造恶意数据包对使用了自带session同步功能的Tomcat进行攻击,穿越到任意目录去读取后缀为“.session”的序列化数据进行反序列化。
成功利用此漏洞需要至少满足以下条件:
1. 攻击者能够控制服务器上文件的内容和文件名称;
2. 服务器PersistenceManager配置中使用了FileStore;
3. PersistenceManager中的sessionAttributeValueClassNameFilter被配置为“null”,或者过滤器不够严格,导致允许攻击者提供反序列化数据的对象;
4. 攻击者知道使用的FileStore存储位置到攻击者可控文件的相对路径;
漏洞验证
■ Tomcat漏洞版本中的conf/context.xml文件存在以下配置;
■ 攻击者可以通过有缺陷的文件上传功能把序列化过的恶意代码数据文件上传到任意目录(后缀必须是.session)。调用JSESSIONID让Tomcat加载该上传文件,该恶意session文件的作用为创建tmp/rce文件。
■ 未执行前受影响主机不存在rce文件,执行成功后,可以看到rce文件创建成功,实现了远程代码执行。
影响范围
Apache Tomcat 10.0.0-M1—10.0.0-M4
Apache Tomcat 9.0.0.M1—9.0.34
Apache Tomcat 8.5.0—8.5.54
Apache Tomcat 7.0.0—7.0.103
解决方案
■ 官方解决方案
1. 更新至最新版本,版本链接如下:
2. 禁止使用Session持久化功能FileStore,或者单独配置sessionAttributeValueClassNameFilte的值来确保只有特定属性的对象可以被序列化与反序列化。
■ 迪普科技解决方案
迪普科技安全研究院监测到Apache Tomcat Session反序列化远程代码执行漏洞后,迅速采取了应急措施。
1. 使用迪普“慧眼检测平台”检测现网环境中是否存在Apache Tomcat Session反序列化远程代码执行漏洞。
2. 使用迪普“态势感知平台”检测现网环境中是否存在Apache Tomcat Session反序列化远程代码执行漏洞攻击行为。
3. 迪普科技安全服务团队可协助客户完成现网安全风险评估,针对网络安全入侵事件,提供快速应急响应支撑服务以及专业的安全建设建议。
4. DPtech IPS2000、FW1000、WAF3000将对Apache Tomcat Session反序列化远程代码执行漏洞进行有效防护,对应特征库版本号如下:
◆产品系列:IPS2000,FW1000
◆漏洞库版本:IPS-R2.1.310、IPS-R3.1.144
◆产品系列:WAF3000
◆漏洞库版本:WAF3000-R2.1.90、WAF3000-R3.1.90
特征库升级指导说明
迪普科技安全产品可以通过升级特征库对Apache Tomcat Session反序列化远程代码执行漏洞进行有效检测和防护,对应特征库版本号:IPS-R2.1.310、IPS-R3.1.144、WAF-R2.1.90、WAF-R3.1.90。策略配置参考链接:http://forum.dptech.com/forum.php?mod=viewthread&tid=5945&extra=。
● DPtech IPS2000
http://www.dptech.com/index.php?m=content&c=index&a=show&catid=192&id=19&zhifenlei=%E7%89%B9%E5%BE%81%E5%BA%93,下载漏洞库IPS-R2.1.310版本。
http://www.dptech.com/index.php?m=content&c=index&a=show&catid=192&id=42&zhifenlei=%E7%89%B9%E5%BE%81%E5%BA%93,下载漏洞库IPS-R3.1.144版本。
● DPtech FW1000
http://www.dptech.com/index.php?m=content&c=index&a=show&catid=191&id=15&zhifenlei=特征库,下载漏洞库FW1000-IPS-R2.1.310版本。http://www.dptech.com/index.php?m=content&c=index&a=show&catid=191&id=43&zhifenlei=特征库,下载漏洞库FW1000-IPS-R3.1.144版本。
● DPtech WAF3000
https://www.dptech.com/index.php?m=content&c=index&a=show&catid=194&id=30&zhifenlei=%E7%89%B9%E5%BE%81%E5%BA%93,下载漏洞库WAF3000-R2.1.90版本。
https://www.dptech.com/index.php?m=content&c=index&a=show&catid=194&id=7050&zhifenlei=%E7%89%B9%E5%BE%81%E5%BA%93,下载漏洞库WAF3000-R3.1.90版本。