一、情况分析
近期Apache 官方发布了 Apache Tomcat 远程代码执行的风险通告,该漏洞编号为 CVE-2020-9484,
Apache Tomcat 是一个开放源代码、运行servlet和JSP Web应用软件的基于Java的Web应用软件容器。
当Tomcat使用了自带session同步功能时,使用不安全的配置(没有使用EncryptInterceptor)会存在反序列化漏洞,攻击者通过精心构造的数据包, 可以对使用了自带session同步功能的Tomcat服务器进行攻击。攻击者能够控制服务器的文件的内容和名称。
利用该漏洞需要满足如下四个条件:服务器被配置为使用PersistenceManager和FileStore。PersistenceManager配置了sessionAttributeValueClassNameFilter=”null”(默认值,除非使用了SecurityManager)或者其他非常宽松的过滤器,攻击者就能够对提供的对象进行反序列化。攻击者知道从FileStore使用的存储位置到攻击者所控制的文件的相对文件路径。
目前网上已出现利用脚本,并有了成功的攻击操作。
二、威胁等级
官方对该漏洞评级:高危。
三、影响范围
Apache Tomcat : 10.0.0-M1 to 10.0.0-M4
Apache Tomcat : 9.0.0.M1 to 9.0.34
Apache Tomcat : 8.5.0 to 8.5.54
Apache Tomcat : 7.0.0 to 7.0.103
四、处置建议
通用修补建议:
升级到Apache Tomcat 10.0.0-M5 及以上版本
升级到Apache Tomcat 9.0.35 及以上版本
升级到Apache Tomcat 8.5.55 及以上版本
升级到Apache Tomcat 7.0.104 及以上版本
临时修补建议:
禁止使用Session持久化功能FileStore。