一、漏洞概述
2020年1月6日,国家信息安全漏洞共享平台(CNVD) 发布了Apache Tomcat文件包含漏洞(CNVD-2020-10487,对应CVE-2020-1938)。 该漏洞是由于Tomcat AJP协议存在缺陷而导致,攻击者利用该漏洞可通过构造特定参数,读取服务器webapp下的任意文件。若目标服务器同时存在文件上传功能,攻击者可进一步实现远程代码执行。利用方式属于文件包含漏洞。
由于Tomcat默认开启的AJP服务(8009端口)存在一处文件包含缺陷,攻击者可构造恶意的请求包进行文件包含操作,进而读取受影响Tomcat服务器上的Web目录文件。
二、影响范围
受影响版本
- Apache Tomcat 6
- Apache Tomcat 7 < 7.0.100
- Apache Tomcat 8 < 8.5.51
- Apache Tomcat 9 < 9.0.31
不受影响版本
- Apache Tomcat = 7.0.100
- Apache Tomcat = 8.5.51
- Apache Tomcat = 9.0.31
三、漏洞复现
使用docker启动vulhub环境
访问地址如下:
下载测试脚本
本地执行测试
四、修复建议
临时禁用AJP协议端口,在conf/server.xml配置文件中注释掉
配置ajp配置中的secretRequired跟secret属性来限制认证
官方下载最新版下载地址:
https://tomcat.apache.org/download-70.cgi
https://tomcat.apache.org/download-80.cgi
https://tomcat.apache.org/download-90.cgi