一 漏洞概述
2020年5月20日,Apache官方发布安全通告修复了Apache Tomcat Session 反序列化远程代码执行漏洞(CVE-2020-9484)。若使用了Tomcat的session持久化功能,那么不安全的配置将导致攻击者可以发送恶意请求执行任意代码。
攻击者成功利用此漏洞需要同时满足以下4个条件:攻击者能够控制服务器上文件的内容和文件名称;服务器PersistenceManager配置中使用了FileStore;PersistenceManager中的sessionAttributeValueClassNameFilter被配置为“null”,或者过滤器不够严格,导致允许攻击者提供反序列化数据的对象;攻击者知道使用的FileStore存储位置到攻击者可控文件的相对路径。
二 影响版本
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
三 复现过程
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,则可能存在安全风险。
四 影响范围
根据 ZoomEye 网络空间搜索引擎对关键字 “Apache Tomcat” 进行搜索,共得到 5,042,885 条 IP 历史记录,主要分布在中国、美国等国家;
五 修复建议
升级到 Apache Tomcat 10.0.0-M5或更高版本
升级到 Apache Tomcat 9.0.35或更高版本
升级到 Apache Tomcat 8.5.55或更高版本
升级到 Apache Tomcat 7.0.104或更高版本
若暂时无法进行升级操作,也可采用以下措施进行临时缓解:禁止使用Session持久化功能FileStore,或者单独配置sessionAttributeValueClassNameFilte的值来确保只有特定属性的对象可以被序列化与反序列化。
六 相关链接
seclists:https://seclists.org/oss-sec/2020/q2/136
ZoomEye 网络空间搜索引擎:https://www.zoomeye.org/searchResult?q=app%3A%22Apache%20Tomcat%22
2020年09月17日,IBM发布安全公告,WebSphere Application Server中存在一个安全漏洞,该漏洞是由于WebSphere Application Server在处理XML数据时容易受到XML外部实体注入(XXE)攻击。
2020年9月22日,FastAdmin远程代码执行漏洞细节曝光,黑客登录前台会员中心,即可远程GetShell,风险极大。
2020年9月17日,VMware发布安全公告,在Spring Framework版本5.2.0-5.2.8、5.1.0-5.1.17、5.0.0-5.0.18、4.3.0-4.3.28和较旧的不受支持的版本中,发现了一个存在于Spring Framework中的反射型文件下载(Reflected File Download,RFD)漏洞(CVE-2020-5421)。
获取安全动态