漏洞预警:apache tomcat session 反序列化代码执行漏洞
Apache Tomcat Session 反序列化代码执行漏洞 (CVE-2020-9484)
风险等级:中危
漏洞类型:远程代码执行
漏洞编号:CVE-2020-9484
Apache Tomcat 10.0.0-M1至10.0.0-M4, 9.0.0.M1至9.0.34, 8.5.0至8.5.54, 7.0.0至7.0.103的版本如果配置不当,攻击者有可能构造恶意请求,造成反序列化代码执行漏洞。
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.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
攻击者能够控制服务器上文件的内容和名称;
服务器PersistenceManager配置中使用了FileStore;
服务器PersistenceManager配置中设置sessionAttributeValueClassNameFilter为NULL,或者使用了其他较为宽松的过滤器,允许攻击者提供反序列化数据对象;
攻击者知道使用的FileStore存储位置到可控文件的相对文件路径。
攻击者在同时满足以上4个条件时,可以发送一个恶意构造的请求,来造成反序列化代码执行漏洞。
攻击者能够控制服务器上文件的内容和名称;
1、 从Apache Tomcat官网下载的安装包名称中会包含Tomcat的版本号,如果用户解压后没有更改Tomcat的目录名称,可以通过查看文件夹名称来确定当前使用的版本。
如果解压后的Tomcat目录名称被修改过,或者通过Windows Service Installer方式安装,可使用软件自带的version模块来获取当前的版本。也可以进入Tomcat安装目录的bin目录,运行version.bat(Linux运行version.sh)后,可查看当前的软件版本号。
2、 查看conf/context.xml文件或具体项目的server.xml文件中,是否存在以下<Manager>节点
若当前版本在受影响范围内且在PersistenceManager配置中使用了FileStore,则可能存在安全风险。
升级Apache Tomcat到最新版本。官方下载链接:
https://tomcat.apache.org/
安全版本:
· 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的值来确保只有特定属性的对象可以被序列化/反序列化