Apache Tomcat是美国Apache软件基金会的Jakarta项目的一款轻量级免费的开放源代码的Web应用服务器,主要用于开发和调试JSP程序,在世界范围内被广泛使用。
近日,CNVD公开了一个Apache Tomcat文件包含漏洞(CVE-2020-1938/CNVD-2020-10487),该漏洞利用AJP服务端口实现攻击,未开启AJP服务对外不受影响,攻击者可以利用该漏洞通过Tomcat AJP Connector读取或包含Web应用根目录下的任意文件,甚至造成任意代码执行。
目前网上已出现了利用脚本,而Apache Tomcat在我国用户众多,且大部分使用Apache Tomcat的网站都还没及时修补,因此本次通告的漏洞影响范围较大,捷普建议用户及时修补,做好相关防护措施。
默认情况下,Apache Tomcat配置开启了HTTP Connector(默认监听端口为8080)和AJP Connector(默认监听端口为8009),一个用于处理对外提供的HTTP协议的请求,另一个用于处理AJP协议的请求。当攻击者可以访问到受影响网站的AJP Connector时,就可以利用该漏洞读取或包含Web应用根目录下的任意文件,如果受影响的网站上存在文件上传点,攻击者可以通过上传一个恶意的JSP脚本文件,然后利用该漏洞造成任意代码执行。
漏洞影响的产品版本包括:
Tomcat 6 全版本
Tomcat 7在7.0.100前的全版本
Tomcat 8在8.5.51前的全版本
Tomcat 9在9.0.31前的全版本
捷普安全实验室根据已公开的漏洞详情信息,编写了Tomcat文件包含漏洞(CVE-2020-1938/CNVD-2020-10487)检测脚本,可用于验证漏洞是否能被利用。
安全技术运维人员可通过tomcat/bin目录下version进行版本确定,如检测到当前版本在受影响的范围内,则可能存在安全风险。
捷普网络脆弱性智能评估系统目前已支持对该漏洞的检测,请相关用户及时更新产品规则,以确保有效防护。
1)更新Tomcat版本至9.0.31、8.5.51、7.0.100版本
2)禁用AJP协议编辑 tomcat/conf/server.xml,注释AJP协议
进行注释:
设置完毕后重启Tomcat即可
3)配置secret来设置AJP协议的认证凭证
编辑 tomcat/conf/server.xml,进行配置
redirectPort='8443'address='IP_ADDR' secret='TOMCAT_SECRET'/>