【漏洞详情】
近日,平安云安全监控到Apache Tomcat版本存在文件包含漏洞(CVE-2020-1938)。由于Tomcat AJP协议存在缺陷,攻击者利用该漏洞可通过构造特定参数,读取服务器webapp下的任意文件。由于Tomcat应用范围较广,此漏洞影响范围较大,建议受影响的用户综合评估安全及业务影响,及时进行加固修复,避免安全风险。
【风险评级】
高危
【影响范围】
受影响版本
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
【修复建议】
建议受影响用户综合评估漏洞风险和业务影响,可按如下方案加固修复,避免安全风险:
方案一、版本升级
目前,厂商已发布新版本修复了该漏洞,官方下载地址如下:
版本号 |
官方下载地址 |
Apache Tomcat 7.0.100 |
|
Apache Tomcat 8.5.51 |
|
Apache Tomcat 9.0.31 |
方案二、缓解方法
1、若不需要使用Tomcat AJP协议,可直接关闭AJP Connector,或将其监听地址改为仅监听本机localhost,操作方法如下:
编辑 <CATALINA_BASE>/conf/server.xml,找到并注释如下行内容:<Connector port="8009"protocol="AJP/1.3" redirectPort="8443" /> ,保存并重启Tomcat。
2、若需使用Tomcat AJP协议,可根据使用版本配置协议属性设置认证凭证,操作方法如下:
l Tomcat 7和Tomcat 9
通过为AJP Connector配置secret设置AJP协议的认证凭证。例如(注意必须将YOUR_TOMCAT_AJP_SECRET更改为一个安全性高、无法被轻易猜解的值):
<Connector port="8009"protocol="AJP/1.3" redirectPort="8443"address="YOUR_TOMCAT_IP_ADDRESS" secret="YOUR_TOMCAT_AJP_SECRET"/>
l Tomcat 8
通过为AJP Connector配置requiredSecret来设置AJP协议的认证凭证。例如(注意必须将YOUR_TOMCAT_AJP_SECRET更改为一个安全性高、无法被轻易猜解的值):
<Connector port="8009"protocol="AJP/1.3" redirectPort="8443"address="YOUR_TOMCAT_IP_ADDRESS"requiredSecret="YOUR_TOMCAT_AJP_SECRET" />
【参考链接】
https://www.cnvd.org.cn/webinfo/show/5415
特别提醒:修复漏洞前请进行充分测试,并务必做好数据备份和快照,防止出现意外。
平安云
2020年2月21日