34

Apache Tomcat 被曝重大漏洞,影响过去 13 年的所有版本

 4 years ago
source link: https://www.infoq.cn/article/CyeCTLTTqWT2QJkuLEh3
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

V7nyAjN.jpg!web

近日,国内安全公司长亭科技 披露 一个在 Tomcat 中潜伏十多年的安全漏洞——Ghostcat (幽灵猫),其编号为 CVE-2020-1938

据悉,Ghostcat(幽灵猫)由长亭科技安全研究员发现,它是存在于 Tomcat 中的安全漏洞。

由于 Tomcat AJP 协议设计上存在缺陷,攻击者通过 Tomcat AJP Connector 可以读取或包含 Tomcat 上所有 webapp 目录下的任意文件,例如可以读取 webapp 配置文件或源代码。

Tomcat Connector 是 Tomcat 与外部连接的通道,它使得 Catalina 能够接收来自外部的请求,传递给对应的 Web 应用程序处理,并返回请求的响应结果。默认情况下,Tomcat 配置了两个 Connector,它们分别是 HTTP Connector 和 AJP Connector。

并且,在目标应用有文件上传功能的情况下,配合文件包含的利用还可以达到远程代码执行的危害。

影响过去 13 年所有 Apache Tomcat 版本

众所周知, Java 是目前 Web 开发中最主流的编程语言,而 Tomcat 是当前最流行的 Java 中间件服务器之一,从初版发布到现在已有二十多年历史,在世界范围内被广泛使用。

据长亭科技官方介绍,这个漏洞影响全版本默认配置下的 Tomcat(已确认影响 Tomcat 9/8/7/6 全版本),这意味着 Ghostcat 在 Tomcat 中潜伏十多年。

“通过 Ghostcat 漏洞,攻击者可以读取 Tomcat 所有 webapp 目录下的任意文件。”长亭科技在博客上写道。

此外,如果网站应用提供文件上传的功能,攻击者能先向服务端上传一个内容含有恶意 JSP 脚本代码的文件(上传的文件本身可以是任意类型的文件,比如图片、纯文本文件等),然后利用 Ghostcat 漏洞进行文件包含,从而达到代码执行的危害。

下列版本的 Tomcat 受 Ghostcat 漏洞影响:

  • Apache Tomcat 9.x < 9.0.31

  • Apache Tomcat 8.x < 8.5.51

  • Apache Tomcat 7.x < 7.0.100

  • Apache Tomcat 6.x

修复漏洞

长亭科技提示:对于处在漏洞影响版本范围内的 Tomcat 而言,若其开启 AJP Connector 且攻击者能够访问 AJP Connector 服务端口的情况下,即存在被 Ghostcat 漏洞利用的风险。

并且,Tomcat AJP Connector 默认配置下即为开启状态,且监听在 0.0.0.0:8009。

要正确修复 Ghostcat 漏洞,首先要确定服务器环境中是否有用到 Tomcat AJP 协议:

  • 如果未使用集群或反向代理,则基本上可以确定没有用到 AJP;

  • 如果使用了集群或反向代理,则需要看集群或反代服务器是否与 Tomcat 服务器 AJP 进行通信

早在 1 月初,长亭科技向 Apache Tomcat 官方提交漏洞。

目前,Tomcat 官方已经发布 9.0.31、8.5.51 及 7.0.100 版本针对此漏洞进行修复。因此,建议 Tomcat 用户尽快升级到最新版本。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK