CVE-2020-9484 Apache Tomcat Session反系列化远程命令执行漏洞通告
2020.5.22
摘要
Apache官方发布安全通告修复了Apache Tomcat Session 反序列化远程代码执行漏洞(CVE-2020-9484),不安全的配置将导致攻击者可以发送恶意请求执行任意代码,建议相关用户采取措施进行防护。
漏洞原理
当tomcat使用了cluster功能共享session持久化时,若同步端点可被访问,即可发生恶意序列化数据进行RCE。
Apache官方发布安全通告修复了Apache Tomcat Session 反序列化远程代码执行漏洞(CVE-2020-9484),不安全的配置将导致攻击者可以发送恶意请求执行任意代码,建议相关用户采取措施进行防护。
0x01: 严重级别
高级
0x02: 影响范围
受影响的Apache软件基础版本:
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
0x03: 说明
如果同时满足以下四个条件,可成功利用此漏洞。
一、攻击者能够控制服务器上文件的内容和名称;
二、该服务器PersistenceManager被配置为使用所述的FileStore;
三、该PersistenceManager的配置有sessionAttributeValueClassNameFilter =“空”(缺省值,除非使用SecurityManager)或足够宽松的过滤器,以允许攻击者提供的对象反序列化;
四、攻击者知道从存储位置相对文件路径,使用的FileStore到攻击者拥有控制文件;
然后,使用特制的请求,攻击者将能够在其控制下通过反序列化文件来触发远程代码执行。
0x04: 防护措施
目前官方已在最新版本中修复了该漏洞,请受影响的用户尽快升级版本进行防护,对应版本链接如下:
-升级到Apache Tomcat 10.0.0-M5 下载链接:https://tomcat.apache.org/download-10.cgi
-升级到Apache Tomcat 9.0.35 下载链接:https://tomcat.apache.org/download-90.cgi
-升级到Apache Tomcat 8.5.55 下载链接:https://tomcat.apache.org/download-80.cg
-升级到Apache Tomcat 7.0.104 下载链接:https://tomcat.apache.org/download-70.cgi
若相关用户暂时无法进行升级操作,也可采用以下措施进行临时缓解:禁止使用Session持久化功能FileStore,或者为sessionAttributeValueClassNameFilter适当的值配置PersistenceManager,以确保仅对应用程序提供的属性进行序列化和反序列化.
0x05: 参考链接
https://seclists.org/oss-sec/2020/q2/136
https://github.com/threedr3am/tomcat-cluster-session-sync-exp