UCloud-202002-002:ApacheTomcat 文件包含漏洞安全警告

官方公告作者:U大使日期:2020-10-22点击:193
2020-02-21 12:19:37

  • 发布时间 2020-02-20
  • 更新时间 2020-02-20
  • 漏洞等级 High
  • CVE编号 CVE-2020-1938

漏洞详情

Tomcat AJP协议由于存在实现缺陷导致相关参数可控,攻击者利用该漏洞可通过构造特定参数,读取服务器webapp下的任意文件。若服务器端同时存在文件上传功能,攻击者可进一步实现远程代码的执行。Tomcat AJP Connector默认配置为开启状态,监听在0.0.0.0:8009。如果未使用集群或反向代理则基本上可以确定没有用到AJP,如果使用了集群或反向代理则需要看集群或反代理服务器是否与Tomcat服务器AJP进行通信来进行判断。

影响范围

Tomcat 6.X
       Tomcat 7.X<7.0.100
       Tomcat 8.x<8.5.51
       Tomcat 9.x<9.0.31

修复方案

注意:安装升级前,请做好数据备份、快照和测试工作,防止发生意外
      1.   如未使用Tomcat AJP协议:
      如未使用 Tomcat AJP 协议,可以直接将 Tomcat 升级到 9.0.31、8.5.51或 7.0.100 版本进行漏洞修复。
      如无法立即进行版本更新、或者是更老版本的用户,建议直接关闭AJPConnector,或将其监听地址改为仅监听本机localhost。
      具体操作:
    (1)编辑 <CATALINA_BASE>/conf/server.xml,找到如下行(<CATALINA_BASE> 为 Tomcat 的工作目录):
      <Connector port="8009"protocol="AJP/1.3" redirectPort="8443" />
    (2)将此行注释掉(也可删掉该行):
      <!--<Connectorport="8009" protocol="AJP/1.3"redirectPort="8443" />-->
    (3)保存后需重新启动Tomcat,规则方可生效。
      2.   如果使用了Tomcat AJP协议:
      建议将Tomcat立即升级到9.0.31、8.5.51或7.0.100版本进行修复,同时为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"/>
     如无法立即进行版本更新、或者是更老版本的用户,建议为AJPConnector配置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" />
     3.  采用UCloud外网防火墙或iptables阻止不可信任的来源访问Tomcat AJP Connector端口;
     4.  可以通过安装UCloud hids 检测发现攻击者上传的恶意JSP文件;

参考链接

https://www.cnvd.org.cn/webinfo/show/5415
       https://tomcat.apache.org/connectors-doc/ajp/ajpv13a.html

UCloud 云计算团队


下一篇       上一篇