| 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.
|