事件描述
近日, Apache 软件基金会发布安全通告,修复了一个通过会话持久性进行 RCE
的漏洞,此漏洞为 CVE-2020-9484 的补丁绕过,如果使用了 Tomcat 的 session 持久
化功能,不安全的配置将导致攻击者可以发送恶意请求执行任意代码,成功利用此漏
洞需要同时满足以下 4 个条件:
1)攻击者能够控制服务器上文件的内容和文件名称;
2)服务器 PersistenceManager 配置中使用了 FileStore;
3) PersistenceManager 中的 sessionAttributeValueClassNameFilter 被配置为
“null” ,或者过滤器不够严格,导致允许攻击者提供反序列化数据的对象;攻击者
知道使用的 FileStore 存储位置到攻击者可控文件的相对路径。
影响范围
Apache Tomcat 10.0.0-M1—10.0.0
Apache Tomcat 9.0.0.M1—9.0.41
Apache Tomcat 8.5.0—8.5.61
Apache Tomcat 7.0.0—7.0.107
漏洞检测
1)从 Apache Tomcat 官网下载的安装包名称中会包含 Tomcat 的版本号,如果用户解
压后没有更改 Tomcat 的目录名称,可以通过查看文件夹名称来确定当前使用的本。
如果解压后的 Tomcat 目录名称被修改过,或者通过 Windows Service Installer 方
式安装,可使用软件自带的 version 模块来获取当前的版本。也可以进入 Tomcat 安
装目录的 bin 目录,运行 version.bat(Linux 运行 version.sh)后,可查看当前的软件版本号。