CyberSecBulletin
CVE-2013-0422Exploited in the wildNVD status: Analyzed

Oracle JRE Remote Code Execution

CVE-2013-0422 is a high-severity improper access control vulnerability in JDK from Oracle, with a CVSS 2.0 base score of 10.0 out of 10. It can be exploited remotely over the network by an unauthenticated attacker, without any action from a user. Affected JDK versions: 1.7.0. The record does not name a fixed version, so check the vendor advisory. CISA added it to the Known Exploited Vulnerabilities catalogue on May 25, 2022, which means attacks have been observed in the wild, including in ransomware campaigns.

Patch now

Attackers are already exploiting this vulnerability, according to CISA.

What to do

  1. Check which version of JDK you run against the affected versions below, and install the vendor's latest release.
  2. CISA's required action: Apply updates per vendor instructions.
  3. Read the advisory on oracle.com for workarounds and exact fixed builds.
  4. Until you can update, restrict network access to the affected service so it is not reachable from untrusted networks.

Affected products and versions

VendorProductAffected versionsFixed in
OracleJDK1.7.0Not stated
OracleJRE1.7.0Not stated
CanonicalUbuntu Linux12.10Not stated
openSUSEOpensuse12.2Not stated

Version data comes from NVD's product matching. Confirm against the vendor advisory before deciding you are unaffected.

How the severity score breaks down

Access vector
NetworkCan be exploited remotely over a network.
Access complexity
LowNo special conditions are needed.
Authentication
NoneNo login is needed.
Confidentiality
CompleteAll data can be read.
Integrity
CompleteAny data can be modified.
Availability
CompleteThe system can be shut down completely.

Vector: AV:N/AC:L/Au:N/C:C/I:C/A:C. Scored by NVD.

Scoring systemScoreSeverityScored by
CVSS 3.19.8CriticalCISA (ADP)
CVSS 2.010.0HighNVD

Official description

Multiple vulnerabilities in Oracle Java 7 before Update 11 allow remote attackers to execute arbitrary code by (1) using the public getMBeanInstantiator method in the JmxMBeanServer class to obtain a reference to a private MBeanInstantiator object, then retrieving arbitrary Class references using the findClass method, and (2) using the Reflection API with recursion in a way that bypasses a security check by the java.lang.invoke.MethodHandles.Lookup.checkSecurityManager method due to the inability of the sun.reflect.Reflection.getCallerClass method to skip frames related to the new reflection API, as exploited in the wild in January 2013, as demonstrated by Blackhole and Nuclear Pack, and a different vulnerability than CVE-2012-4681 and CVE-2012-3174. NOTE: some parties have mapped the recursive Reflection API issue to CVE-2012-3174, but CVE-2012-3174 is for a different vulnerability whose details are not public as of 20130114. CVE-2013-0422 covers both the JMX/MBean and Reflection API issues. NOTE: it was originally reported that Java 6 was also vulnerable, but the reporter has retracted this claim, stating that Java 6 is not exploitable because the relevant code is called in a way that does not bypass security checks. NOTE: as of 20130114, a reliable third party has claimed that the findClass/MBeanInstantiator vector was not fixed in Oracle Java 7 Update 11. If there is still a vulnerable condition, then a separate CVE identifier might be created for the unfixed issue.

Source: the CVE record as published by its numbering authority, via NVD and CVE.org.

The underlying weakness: Improper Access Control

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

How developers prevent this class of flaw

  • Very carefully manage the setting, management, and handling of privileges. Explicitly manage trust zones in the software.
  • 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.

More Improper Access Control vulnerabilities (CWE-284)

Timeline

  1. CVE record published.
  2. Added to CISA's Known Exploited Vulnerabilities catalogue.
  3. Deadline for US federal agencies to remediate, set by CISA.
  4. CISA published its SSVC assessment (exploitation: active, automatable: yes, technical impact: total).
  5. Record last changed materially (score, affected products, status or references).

References

Third-party and government advisories

Other vulnerabilities in JDK

All JDK vulnerabilities

Recent Improper Access Control vulnerabilities

Spotted an error? Tell us.