LiveBreach Intelligence: data breaches, leaks & ransomware, tracked as they surfaceOngoing protection: GalaxyWarden →
Recent BreachesData breach tracker

CVE-2020-1938: Apache Tomcat Improper Privilege Management Vulnerability

RBRecent Breaches Vulnerability Intelligence·Mar 3, 2022
CVSS 9.8 · Critical⚠ Actively exploited (CISA KEV)
9.8
CVSS score
Critical
Severity
Active
CISA KEV
No
Ransomware use
Mar 17, 2022
Patch deadline
⚠ Exploited in the wild. CISA added CVE-2020-1938 to its Known Exploited Vulnerabilities catalog on Mar 3, 2022, with a federal patch deadline of Mar 17, 2022 — meaning attackers are actively using it. If you run the affected software, patch it immediately.

When using the Apache JServ Protocol (AJP), care must be taken when trusting incoming connections to Apache Tomcat. Tomcat treats AJP connections as having higher trust than, for example, a similar HTTP connection. If such connections are available to an attacker, they can be exploited in ways that may be surprising. In Apache Tomcat 9.0.0.M1 to 9.0.0.30, 8.5.0 to 8.5.50 and 7.0.0 to 7.0.99, Tomcat shipped with an AJP Connector enabled by default that listened on all configured IP addresses. It was expected (and recommended in the security guide) that this Connector would be disabled if not required. This vulnerability report identified a mechanism that allowed: - returning arbitrary files from anywhere in the web application - processing any file in the web application as a JSP Further, if the web application allowed file upload and stored those files within the web application (or the attacker was able to control the content of the web application by some other means) then this, along with the ability to process a file as a JSP, made remote code execution possible. It is important to note that mitigation is only required if an AJP port is accessible to untrusted users. Users wishing to take a defence-in-depth approach and block the vector that permits returning arbitrary files and execution as JSP may upgrade to Apache Tomcat 9.0.31, 8.5.51 or 7.0.100 or later. A number of changes were made to the default AJP Connector configuration in 9.0.31 to harden the default configuration. It is likely that users upgrading to 9.0.31, 8.5.51 or 7.0.100 or later will need to make small changes to their configurations.

CVE-2020-1938 is an improper privilege management issue in Apache Tomcat. Tomcat treats Apache JServ Protocol (AJP) connections as more trusted than a comparable HTTP connection. If an attacker can reach those AJP connections, they can abuse that higher trust. For IT and security teams, this matters because AJP is commonly used between reverse proxies and Tomcat; an exposed or weakly controlled AJP endpoint can turn a network path into a path for unauthorized access or further compromise. Confirm exact impact and fixed releases against the vendor advisory.

How it works

The core problem is trust handling for the AJP connector. Tomcat assigns AJP connections a higher level of trust than it would for a similar HTTP connection. When AJP is reachable by an attacker—whether because it is bound to an untrusted interface, left open through a firewall, or reachable via a misconfigured proxy—the attacker can send crafted AJP requests that Tomcat processes under that elevated trust model. The CWE is not specified in the provided record; in practice this class of flaw lets an outsider influence request attributes or behavior that the server would normally only accept from a trusted front-end. Specific exploit mechanics and payloads are not detailed here; treat any public proof-of-concept material cautiously and validate behavior only in a lab against your own builds. Always confirm technical details in the official Apache Tomcat advisory for this CVE.

Am I affected? How to find it in your systems

Apache Tomcat is widely used as a servlet container for Java web applications, often behind Apache HTTP Server, Nginx, or load balancers that speak AJP. Inventory every host and container that runs Tomcat: check package managers, application server inventories, CMDB entries, and container images. On each instance, review server.xml (or equivalent configuration) for AJP connectors—commonly the Connector element with protocol AJP/1.3 or similar—and note the address and port they bind to. Determine whether those ports are reachable from untrusted networks or only from a controlled reverse-proxy tier.

If you cannot map a host to a clear AJP configuration, assume it may be present until you verify otherwise. Specifics on affected version ranges must be taken from the vendor advisory.

How to remediate

Patch first. Apply the updates Apache provides for CVE-2020-1938 exactly as described in the vendor instructions and CISA’s required action: apply updates per vendor instructions. After upgrading, verify that the AJP connector configuration matches your intended trust boundary and that the service restarts cleanly.

Document the change and retain evidence of version and config for audit. Do not rely on partial workarounds as a substitute for the vendor fix.

If you can't patch immediately

Reduce exposure until you can upgrade. Segment Tomcat hosts so AJP ports are reachable only from approved reverse proxies on a controlled network path; block all other sources at the host firewall and network ACL. If a web application firewall or reverse-proxy virtual patching capability is available, apply rules that restrict or inspect AJP-related traffic—but treat this as temporary and confirm rule effectiveness against the advisory. Disable the AJP connector if the application can run without it. Increase monitoring: alert on connections to AJP ports from unexpected addresses, spike in 4xx/5xx from the proxy tier, or unusual Tomcat process behavior. These compensating controls lower risk; they do not replace the patch.

If your data may have been exposed

Actively exploited vulnerabilities can lead to unauthorized access and data exposure. If you have reason to believe AJP was reachable and abused, follow your incident response process: isolate affected hosts, preserve logs, and assess what applications and data the Tomcat instance could reach. Known ransomware use is not documented for this CVE in the provided facts. As a routine check, you can run a free exposure scan of your email addresses against known breach data to see whether credentials or identities associated with your environment have appeared in prior breaches, then force resets and review access where appropriate.

AICompiled with AI assistance from public sources and published under our editorial standards.

Details

AffectedApache · Tomcat
CVSS base score9.8 (Critical)
CVSS vectorCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
PublishedFeb 24, 2020
Added to CISA KEVMar 3, 2022
Federal patch deadlineMar 17, 2022
Known ransomware useNot documented
Check if your data is exposed →

References

Official records: NVD · CISA KEV

← All actively-exploited vulnerabilities