阅读: 0

综述

近日,Apache Tomcat发布通告称修复了一个源于持久化Session的远程代码执行漏洞(CVE-2020-9484)。要利用该漏洞,攻击者需要同时满足以下4个条件:

  1. 攻击者可以控制服务器上的文件名/文件内容;
  2. 服务器上配置使用了PersistenceManager的FileStore;
  3. PersistenceManager配置了sessionAttributeValueClassNameFilter值为“NULL”或者其他宽松的过滤器,使得攻击者可以提供反序列化对象;
  4. 攻击者知道FileStore使用的存储位置到可控文件的相对路径。

攻击者在同时满足以上4个条件时,可以发送一个恶意构造的请求,来造成反序列化代码执行漏洞。

受影响产品版本

  • Apache Tomcat 10.x < 10.0.0-M5
  • Apache Tomcat 9.x < 9.0.35
  • Apache Tomcat 8.x < 8.5.55
  • Apache Tomcat 7.x < 7.0.104

不受影响产品版本

  • Apache Tomcat 10.x >= 10.0.0-M5
  • Apache Tomcat 9.x >= 9.0.35
  • Apache Tomcat 8.x >= 8.5.55
  • Apache Tomcat 7.x >= 7.0.104

解决方案

Apache Tomcat官方已经发布新版本修复上述漏洞,建议受影响用户尽快升级进行防护。不方便升级的用户,还可以暂时禁用FileStore功能,或者单独配置sessionAttributeValueClassNameFilte的值来确保只有特定属性的对象可以被序列化/反序列化。

参考链接:

https://tomcat.apache.org/security.html