1. 漏洞概述
近日,Apache官方发布安全通告修复了Apache Tomcat Session反序列化远程代码执行漏洞(CVE-2020-9484),如果使用了Tomcat的session持久化功能,不安全的配置将导致攻击者可以发送恶意请求执行任意代码,建议相关用户采取措施进行防护。
成功利用此漏洞需要同时满足以下4个条件:
1)攻击者能够控制服务器上文件的内容和文件名称;
2)服务器PersistenceManager配置中使用了FileStore;
3)PersistenceManager中的sessionAttributeValueClassNameFilter被配置为“null”,或者过滤器不够严格,导致允许攻击者提供反序列化数据的对象;
4)攻击者知道使用的FileStore存储位置到攻击者可控文件的相对路径;
2.影响范围
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
3.漏洞防护
3.1 官方升级
目前官方已在最新版本中修复了该漏洞,请受影响的用户尽快升级版本进行防护,官方下载链接:
版本号 |
下载地址 |
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.cgi |
Apache Tomcat 7.0.104 |
https://tomcat.apache.org/download-70.cgi |
3.2 临时防护措施
若相关用户暂时无法进行升级操作,也可采用以下措施进行临时缓解:禁止使用Session持久化功能FileStore,或者单独配置sessionAttributeValueClassNameFilte的值来确保只有特定属性的对象可以被序列化与反序列化。