关于 Apache Tomcat 存在文件包含漏洞的安全公告

oschina
 oschina
发布于 2020年02月22日
收藏 23

拥抱开源,微软做了哪些努力?一大波开源技术成果将亮相微软在线技术峰会>>>

国家信息安全漏洞共享平台(CNVD)近日发布了一份关于 Apache Tomcat 存在文件包含漏洞的安全公告,具体信息如下:

安全公告编号:CNTA-2020-0004

2020 年 1 月 6 日,国家信息安全漏洞共享平台(CNVD)收录了由北京长亭科技有限公司发现并报送的 Apache Tomcat 文件包含漏洞(CNVD-2020-10487,对应 CVE-2020-1938)。攻击者利用该漏洞,可在未授权的情况下远程读取特定目录下的任意文件。目前,漏洞细节尚未公开,厂商已发布新版本完成漏洞修复。

一、漏洞情况分析

Tomcat 是 Apache 软件基金会 Jakarta 项目中的一个核心项目,作为目前比较流行的 Web 应用服务器,深受 Java 爱好者的喜爱,并得到了部分软件开发商的认可。Tomcat 服务器是一个免费的开放源代码的 Web 应用服务器,被普遍使用在轻量级 Web 应用服务的构架中。

2020 年 1 月 6 日,国家信息安全漏洞共享平台(CNVD)收录了由北京长亭科技有限公司发现并报送的 Apache Tomcat 文件包含漏洞。Tomcat AJP 协议由于存在实现缺陷导致相关参数可控,攻击者利用该漏洞可通过构造特定参数,读取服务器 webapp 下的任意文件。若服务器端同时存在文件上传功能,攻击者可进一步实现远程代码的执行。

CNVD 对该漏洞的综合评级为“高危”。

二、漏洞影响范围

漏洞影响的产品版本包括:

  • Tomcat 6
  • Tomcat 7
  • Tomcat 8
  • Tomcat 9

CNVD 平台对 Apache Tomcat AJP 协议在我国境内的分布情况进行统计,结果显示我国境内的 IP 数量约为 55.5 万,通过技术检测发现我国境内共有 43197 台服务器受此漏洞影响,影响比例约为 7.8%。

三、漏洞处置建议

目前,Apache 官方已发布 9.0.31、8.5.51 及 7.0.100 版本对此漏洞进行修复,CNVD 建议用户尽快升级新版本或采取临时缓解措施:

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)保存后需重新启动,规则方可生效。

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" />

 

附:参考链接

https://tomcat.apache.org/connectors-doc/ajp/ajpv13a.html

https://tomcat.apache.org/tomcat-8.0-doc/config/ajp.html

https://stackoverflow.com/questions/21757694/what-is-ajp-protocol-used-for

本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动共创开源社区。
转载请注明:文章转载自 OSCHINA 社区 [http://www.oschina.net]
本文标题:关于 Apache Tomcat 存在文件包含漏洞的安全公告
加载中

精彩评论

msscn
msscn
口气不小。可以
chentao106
chentao106
AJP是用来和apache集成的,默认情况下就是关闭的,而且一般动静是分离的,上传的文件在apache目录下,而不在tomcat目录下
s
shmily丶梦想
springboot内置的tomcat会不会有这个问题,如果有怎样禁用AJP协议?

最新评论(12

晒太阳的小猪
晒太阳的小猪
靠谱的帖子,有问题,🈶应急措施,🈶解决的具体办法。比某些官话管用高效
水溶C100
水溶C100
<Connector port="8009"protocol="AJP/1.3" redirectPort="8443" />

弱弱的问一下,要是没有开放8009与8443端口是不是不会有影响?
chentao106
chentao106
AJP是用来和apache集成的,默认情况下就是关闭的,而且一般动静是分离的,上传的文件在apache目录下,而不在tomcat目录下
云人下天
默认情况下是启动的。我下载的几个tomat版本都是原始配置,看了一下默认是启动的。
其中的配置如下:
<!-- Define an AJP 1.3 Connector on port 8009 -->
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
并没有注释掉。这种问题很严重的。
s
shmily丶梦想
springboot内置的tomcat会不会有这个问题,如果有怎样禁用AJP协议?
云人下天
spring boot默认是没有启动AJP功能的,这点你大可以放心,最近出现的几个tomat漏洞,spring boot默认都是禁止的。当然功能还是存在的,最好还是升级一下spring boot版本。
南湖船老大
南湖船老大
AJP 协议一般没人用,但是默认是开启的,禁止掉就好。
eddy_shen
eddy_shen
建议也升级一下
SpringBoot中文社区
SpringBoot中文社区
用嵌入式的容器,应该不存在这个问题吧??
CielSwift
CielSwift
怎么总是有远程执行漏洞。难道不使用反序列化就做不了框架了吗?
超级大富
超级大富
tomcat 入门可以用用。工作后基本不用了
msscn
msscn
口气不小。可以
返回顶部
顶部