近日,国内安全公司长亭科技披露一个在 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。
并且,在目标应用有文件上传功能的情况下,配合文件包含的利用还可以达到远程代码执行的危害。
众所周知,Java 是目前 Web 开发中最主流的编程语言,而Tomcat 是当前最流行的 Java 中间件服务器之一,从初版发布到现在已有二十多年历史,在世界范围内被广泛使用。
据长亭科技官方介绍,这个漏洞影响全版本默认配置下的Tomcat(已确认影响Tomcat 9/8/7/6全版本),这意味着Ghostcat在Tomcat中潜伏十多年。
“通过Ghostcat漏洞,攻击者可以读取 Tomcat所有 webapp目录下的任意文件。”长亭科技在博客上写道。
此外,如果网站应用提供文件上传的功能,攻击者能先向服务端上传一个内容含有恶意 JSP 脚本代码的文件(上传的文件本身可以是任意类型的文件,比如图片、纯文本文件等),然后利用 Ghostcat 漏洞进行文件包含,从而达到代码执行的危害。
下列版本的Tomcat受Ghostcat漏洞影响:
长亭科技提示:对于处在漏洞影响版本范围内的 Tomcat 而言,若其开启 AJP Connector 且攻击者能够访问 AJP Connector 服务端口的情况下,即存在被 Ghostcat 漏洞利用的风险。
并且,Tomcat AJP Connector 默认配置下即为开启状态,且监听在 0.0.0.0:8009。
要正确修复Ghostcat 漏洞,首先要确定服务器环境中是否有用到 Tomcat AJP 协议:
早在1月初,长亭科技向 Apache Tomcat 官方提交漏洞。
目前,Tomcat官方已经发布9.0.31、8.5.51 及 7.0.100 版本针对此漏洞进行修复。因此,建议Tomcat用户尽快升级到最新版本。
领取专属 10元无门槛券
私享最新 技术干货