A serious vulnerability affecting Apache Tomcat can be exploited to read files from a server and in some cases even to achieve remote code execution.
Dubbed Ghostcat and tracked as CVE-2020-1938, the flaw was discovered by researchers at Chinese cybersecurity firm Chaitin Tech, who reported their findings to the Apache Software Foundation on January 3.
The vulnerability affects versions 6, 7, 8 and 9 of the open source Java servlet container. Patches were made available earlier this month with the release of versions 9.0.31, 8.5.51 and 7.0.100. Version 6 is no longer supported, but the fact that it’s impacted shows that the vulnerability has existed for more than a decade.
Chaitin says the vulnerability is related to the Apache JServ Protocol (AJP) protocol, which is designed to improve performance by proxying inbound requests from a web server through to an application server.
The AJP connector used by Tomcat is affected by a weakness that can be exploited by a remote, unauthenticated attacker to access configuration and source code files for web applications deployed on a server. If the system allows users to upload files, an attacker can upload malicious JavaServer Pages (JSP) code to the server and use Ghostcat to execute that code.
Ghostcat affects the default configuration of Tomcat and many servers may be vulnerable to attacks directly from the internet.
Chaitin disclosed its findings last week and several proof-of-concept (PoC) exploits have been publicly released by different researchers. Chaitin has made available both online and offline tools that can be used to determine if a server is affected by Ghostcat.
Affected Linux distributions, such as Red Hat and SUSE, have released advisories for their users. An analysis of the vulnerability has also been published by Tenable.
Related: Symantec Warns of Apache Tomcat Server Worm
Related: Code Execution Flaws Patched in Apache Tomcat
Related: Information Disclosure, DoS Flaws Patched in Apache Tomcat