Skip to content

GHSA-cw54-59pw-4g8c CVE-2016-8735

Apache Tomcat Improper Access Control vulnerability

Critical Known exploited Maven
Severity
9.8 / 10
Critical · CVSS 3.0
Exploit chance (EPSS)
90.34%
Chance of exploitation in the next 30 days. Higher than 99.80% of scored vulnerabilities.
Known exploited
Yes
In CISA's catalog since May 12, 2023
Weakness
CWE-284 Improper Access Control
Fix
Available
2 packages have a fixed version
Exploited in the wild. Apache Tomcat Remote Code Execution Vulnerability (Apache Tomcat). Required action: Apply updates per vendor instructions. Due for U.S. federal agencies by Jun 2, 2023.

Description

Remote code execution is possible with Apache Tomcat before 6.0.48, 7.x before 7.0.73, 8.x before 8.0.39, 8.5.x before 8.5.7, and 9.x before 9.0.0.M12 if JmxRemoteLifecycleListener is used and an attacker can reach JMX ports. The issue exists because this listener wasn't updated for consistency with the CVE-2016-3427 Oracle patch that affected credential types.

Affected versions

Maven

PackageVulnerableFixed in
org.apache.tomcat:tomcat-catalina
< 6.0.48
6.0.48
org.apache.tomcat:tomcat-catalina
>= 7.0.0, < 7.0.73
7.0.73
org.apache.tomcat:tomcat-catalina
>= 8.0.0, < 8.0.39
8.0.39
org.apache.tomcat:tomcat-catalina
>= 8.5.0, < 8.5.7
8.5.7
org.apache.tomcat:tomcat-catalina
>= 9.0.0.M1, < 9.0.0.M12
9.0.0.M12
org.apache.tomcat:tomcat-catalina
>= 7.0.0, < 7.0.73
7.0.73
org.apache.tomcat:tomcat-catalina
>= 8.0.0, < 8.0.39
8.0.39
org.apache.tomcat:tomcat-catalina
>= 8.5.0, < 8.5.7
8.5.7
org.apache.tomcat:tomcat-catalina
>= 9.0.0.M1, < 9.0.0.M12
9.0.0.M12
org.apache.tomcat:tomcat-catalina-jmx-remote
< 6.0.48
6.0.48
org.apache.tomcat:tomcat-catalina-jmx-remote
>= 7.0.0, < 7.0.73
7.0.73
org.apache.tomcat:tomcat-catalina-jmx-remote
>= 8.0.0, < 8.0.39
8.0.39
org.apache.tomcat:tomcat-catalina-jmx-remote
>= 8.5.0, < 8.5.7
8.5.7
org.apache.tomcat:tomcat-catalina-jmx-remote
>= 9.0.0.M1, < 9.0.0.M12
9.0.0.M12
org.apache.tomcat:tomcat-catalina-jmx-remote
< 6.0.48
6.0.48
org.apache.tomcat:tomcat-catalina-jmx-remote
>= 7.0.0, < 7.0.73
7.0.73
org.apache.tomcat:tomcat-catalina-jmx-remote
>= 8.0.0, < 8.0.39
8.0.39
org.apache.tomcat:tomcat-catalina-jmx-remote
>= 8.5.0, < 8.5.7
8.5.7
org.apache.tomcat:tomcat-catalina-jmx-remote
>= 9.0.0.M1, < 9.0.0.M12
9.0.0.M12

How to fix

Move to the fixed version or later with your package manager, update the lockfile, and run your tests. If the package only arrives through another dependency, upgrade that dependency first. If none of its releases pulls a fixed version yet, force the version with your package manager's override.

org.apache.tomcat:tomcat-catalina Maven → 6.0.48

maven
<dependency><groupId>org.apache.tomcat</groupId><artifactId>tomcat-catalina</artifactId><version>6.0.48</version></dependency>
gradle
implementation("org.apache.tomcat:tomcat-catalina:6.0.48")

org.apache.tomcat:tomcat-catalina-jmx-remote Maven → 6.0.48

maven
<dependency><groupId>org.apache.tomcat</groupId><artifactId>tomcat-catalina-jmx-remote</artifactId><version>6.0.48</version></dependency>
gradle
implementation("org.apache.tomcat:tomcat-catalina-jmx-remote:6.0.48")

Severity breakdown

CVSS 3.0 9.8

CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H/E:H

Attack vector
Network
Attack complexity
Low
Privileges required
None
User interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
High
Exploit maturity
H

Weakness

CWE-284: Improper Access Control

The product does not restrict or incorrectly restricts access to a resource from an unauthorized actor.

How to prevent it
  • Architecture and Design, Operation: Very carefully manage the setting, management, and handling of privileges. Explicitly manage trust zones in the software.
  • Architecture and Design: Compartmentalize the system to have "safe" areas where trust boundaries can be unambiguously drawn. Do not allow sensitive data to go outside of the trust boundary and always be careful when interfacing with a compartment outside of the safe area. Ensure that appropriate compartmentalization is built into the system design, and the compartmentalization allows for and reinforces privilege separation functionality. Architects and designers should rely on the principle of least privilege to decide the appropriate time to use privileges and the time to drop privileges.

References

Advisories

Fixes and patches

Packages

Other links

Timeline

  1. Published
  2. Added to CISA's Known Exploited Vulnerabilities catalog
  3. Remediation due for U.S. federal agencies
  4. Last updated by the source
  5. Latest EPSS score
AdvisorySeverityWhy it's related
GHSA-83qj-6fr2-vhqg
Apache Tomcat: Potential RCE and/or information disclosure and/or information corruption with partial PUT
Critical Known exploited Also affects org.apache.tomcat:tomcat-catalina
GHSA-xjgh-84hx-56c5
Unrestricted Upload of File with Dangerous Type Apache Tomcat
High Known exploited Also affects org.apache.tomcat:tomcat-catalina
GHSA-h3x4-894j-xpx5
Apache Tomcat's FORM authentication process has an Incorrect Authorization vulnerability
Critical Also affects org.apache.tomcat:tomcat-catalina
GHSA-9xv2-5v5q-p794
Apache Tomcat's DIGEST authenticator has an Authentication Bypass by Capture-replay vulnerability
Critical Also affects org.apache.tomcat:tomcat-catalina
GHSA-gcx9-497g-6cp6
Apache Tomcat has an Improper Access Control, Incorrect Authorization vulnerability
Critical Also affects org.apache.tomcat:tomcat-catalina
GHSA-5m62-pw8w-7w9f
Apache Tomcat - Security constraints not correctly applied
Critical Also affects org.apache.tomcat:tomcat-catalina
GHSA-9m89-8frq-c98c
Apache Tomcat - AJP secret compared in non-constant time
Low Also affects org.apache.tomcat:tomcat-catalina
GHSA-5mp6-jrq3-r938
Apache Tomcat: LockOutRealm treats user names as case-sensitive
High Also affects org.apache.tomcat:tomcat-catalina

Credits: liususan091219, sunSUNQ, westonsteimel

Is this in your code?

MergeHarbor checks every repository's dependencies against this database, ranks what matters by exploitability and reachability, routes it to the owning team and opens the fix pull request.

Check your repos with MergeHarbor