CVE-2013-0422
Official description Straight from the sourceThe vendor's or NVD's own wording, published unedited. Authoritative, but often terse — it says what broke, rarely what to do.
NVD · uneditedMultiple 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.
Technical summary Written by usOur analysis, written from the advisory, the CVSS vector and the affected-version data. It adds context the advisory leaves out, and never invents facts that are not in the source.
dbcve analysis · high confidenceCVE-2013-0422 is a critical remote code execution vulnerability in Oracle Java 7 (before Update 11) involving two distinct attack vectors: (1) the JMX MBeanInstantiator vulnerability allowing attackers to bypass Java sandbox via the public getMBeanInstantiator method to access findClass and load arbitrary classes, and (2) a Reflection API recursion flaw that bypasses security checks in MethodHandles.Lookup.checkSecurityManager due to sun.reflect.Reflection.getCallerClass failing to properly skip frames. This zero-day was actively exploited by Blackhole and Nuclear Pack exploit kits in January 2013.
Verify against the referenced sources before acting — the references below are authoritative for this CVE, this summary is not.
Affected products & versions What the vendor confirmedThe version ranges the vendor confirmed as vulnerable. If your version sits inside a range here, treat yourself as exposed until you have upgraded.
NVD · CPE data= 12.10= 1.7.0= 1.7.0= 12.2CVSS breakdown How the score is builtThe industry scoring standard. It rates how the flaw is reached, what it takes to exploit, and what an attacker gains — the score is derived from those, not the other way round.
From the vector- Attack vector
- Network
- Complexity
- Low
- Privileges
- None
- User interaction
- None
- Scope
- Unchanged
- Confidentiality
- High
- Integrity
- High
- Availability
- High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Am I affected? How to checkSteps we derive from the advisory and the affected-version data, so you can decide whether this CVE reaches your setup. They are a guide, not a scan — your own configuration is the authority.
dbcve checksWork through these to decide whether this CVE applies to you.
-
Identify installed Oracle Java versionRun 'java -version' or 'java -fullversion' from command line. For JDK, also check 'javac -version'. Note the full version string including update number (e.g., 1.7.0_10).Affected if Version is Oracle Java 7 (1.7.0) with update number lower than 11, or if the version line shows '1.7.0' without a clear update number and was released before January 2013.
-
Confirm Java vendor and distributionRun 'java -verbose' and check vendor information, or examine the Java installation directory path for 'Oracle' or 'Sun' branding. On affected Linux systems (Ubuntu 12.10, OpenSUSE 12.2), check if the openjdk package is installed via package manager.Affected if Vendor is Oracle (or Sun) and version falls into the vulnerable 1.7.0 series before Update 11.
-
Verify JMX service accessibilityCheck Java process arguments for JMX configuration: look for '-Dcom.sun.management.jmxremote' or similar JMX flags in running Java processes via 'ps aux | grep java'. Also check configuration files in /etc/java* or Java lib/conf directories for jmxremote.password or jmxremote.access files.Affected if JMX remote management is enabled and exposed, creating the attack surface for the MBeanInstantiator vector.
-
Check Java Security Manager statusExamine running Java applications for '-Djava.security.manager' flag in process command lines. Also check application startup scripts and configuration files for SecurityManager implementation.Affected if Security Manager is not actively enforcing policy, as the reflection API flaw specifically bypasses security checks that depend on getCallerClass frame-skipping.
-
Review Java deployment configurationInspect the Java Control Panel (Windows) or deployment.properties file (typically in $JAVA_HOME/lib/deploy or user home) for security settings. On Linux, check /etc/.java/deployment.properties.Affected if Security level is set to allow unsigned applets or the deployment rule set is not configured to block vulnerable code execution.
A system is affected if it runs any Oracle Java 7 (1.7.0 series) version prior to Update 11, particularly if JMX remote management is accessible or the Java Security Manager is not properly enforcing restrictions.
Generated from the published advisory. Verify against your own configuration.
Remediation Closing itWhat it takes to close this. Where a vendor fix exists we point at it; where none exists we say so plainly, and can build one. Effort estimates are scoped from the advisory, not from your codebase.
dbcve · scopedImmediately update Oracle Java 7 to Update 11 or later (preferably latest available version); for systems where Java update is not feasible, consider disabling Java browser plugins and restricting Java execution to trusted code only until patching can be completed.
Java 7 Update 80 (final public release for Java 7)
- 1. Identify the current Java installation: run 'java -version' to confirm version
- 2. For Oracle Java: Download Java 7 Update 80 (the final public update) from official Oracle website or use package manager
- 3. For OpenJDK on Ubuntu: Run 'sudo apt-get update' then 'sudo apt-get install openjdk-7-jdk' or 'openjdk-7-jre'
- 4. On OpenSUSE: Use YaST or run 'zypper in java-1_7_0-openjdk'
- 5. Set JAVA_HOME environment variable to point to the new Java installation
- 6. Verify the fix by running 'java -version' to confirm version is 1.7.0_80 or higher
- 7. Test that any Java-dependent applications function correctly after the upgrade
Generated from the published advisory — verify against the referenced sources before acting.
- Consultation2.0 h
- Implementation4.0 h
- Testing4.0 h
- Review / QA2.0 h
An estimate, not a bill — we confirm scope with you before any work starts. Need it this week? Rush from $3,328.
Scan for this in your stack
Free · runs locallyCheck whether your project pulls in CVE-2013-0422 — or any other known-vulnerable package — straight from your lock files. Free and open source; it runs locally and uploads nothing.
References Go to the primary sourcePrimary sources — vendor advisories, patches and trackers. Where our summary and a reference disagree, the reference wins.
Primary sources- www.oracle.com
- immunityproducts.blogspot.ca
- krebsonsecurity.com
- labs.alienvault.com
- lists.opensuse.org
- malware.dontneedcoffee.com
- rhn.redhat.com
- rhn.redhat.com
- seclists.org
- www.kb.cert.org
- www.ubuntu.com
- www.us-cert.gov
- wiki.mageia.org
- blog.fireeye.com
- blog.fuseyism.com
- www.mandriva.com
- partners.immunityinc.com
- threatpost.com
- www-304.ibm.com
- www.cisa.gov
- nvd.nist.gov
Practitioner notes
ContributedPeer-ranked notes from engineers who’ve handled CVE-2013-0422 in production — separate from our analysis above.
The advisory tells you what broke. It rarely tells you what actually worked. If you’ve dealt with this one, that detail is what the next engineer is searching for.
- The version that genuinely resolved it — not the one the vendor claimed
- A config change or rule that shut the vector down
- A gotcha in the upgrade path that cost you an afternoon
No notes yet
Be the first to add a field note for this CVE — a mitigation you’ve verified, a version caveat, or a link to a working fix. Sign in above to contribute.
A place for practitioners to share what actually worked: a mitigation you’ve tested, a configuration change, a version- or environment-specific caveat, or a link to a verified patch. The most useful notes rise to the top as peers upvote them, so the signal stays high.
- Verified mitigations, workarounds, and config changes
- Version or environment caveats, and links to real fixes
- No weaponised exploit code, or anything meant to cause harm
- No spam, self-promotion, credentials, or personal data