GhostCat Request Injection Vulnerability
The Apache Software Foundation has released details of an improper input validation (CWE-20) vulnerability, known as GhostCat, affecting the Tomcat Java web server. They claim that an unauthenticated remote user could exploit this vulnerability to gain control of an affected system.
Summary
The Apache Software Foundation has released details of an improper input validation (CWE-20) vulnerability, known as GhostCat, affecting the Tomcat Java web server. They claim that an unauthenticated remote user could exploit this vulnerability to gain control of an affected system.
Affected platforms
The following platforms are known to be affected:
Threat details
Description
The vulnerability is a result of the way Tomcat servers handle AJP connections. All prior versions of Tomcat used an AJP connector that was enabled by default.
Apache JServ Protocol
Apache JServ Protocol (AJP) is a packet-oriented binary protocol designed to proxy inbound requests from a public web server to a private application server. AJP reduces the performance overhead required to parse plain-text protocol, such as HTTP, and is primarily used for load balancing.
As AJP connections are typically between front-end and back-end systems, they are assigned higher trust ratings than connections using other protocols. AJP connections shoudl only be used via private interfaces.
If an AJP connection is exposed publicly, any unauthenticated user with access to it may make requests to the application server. An attacker can use this to bypass security and authentication measures, obtain sensitive information, or pass files to the server and execute them.
For further information
Remediation advice
The ASF has confirmed that CVE-2020-1938 has been addressed in the latest versions of Tomcat. Affected organisations are encouraged to visit the following pages to obtain and apply these updates:
They have also recommended organisations apply the following mitigation steps alongside any relevant updates:
- Disabling the AJP connector and blocking TCP port 8009 if AJP support is not required.
- If AJP support is required:
- configure appropriate firewall rules
- configure n explicit address attributed to ensure the AJP connector listens on private interface
- configure a shared secret for the APJ connector
Last edited: 4 March 2020 1:40 pm