Much is being talked about the Oracle fix being incomplete for the recent Java 0-day for CVE-2013-0422. In this post, we would like to take this opportunity to clear a few items around it.
Based on our analysis, we have confirmed that the fix for CVE-2013-0422 is incomplete. There are two issues in this CVE. One is with the findclass method of com.sun.jmx.mbeanserver.MBeanInstantiator class. The other is with invokeWithArguments() method of the java.lang.invoke.MethodHandle class. Oracle has fixed the latter but findclass method can still be used to get a reference to restricted classes. To simplify, the issue in findclass method still leaves a hole that could be used with another new vulnerability.
We would also like to clarify another point, this time concerning CVE-2012-3174. As opposed to some reports, it is NOT the issue with the Reflection API. The Reflection API issue is fixed as a part of CVE-2013-0422. To quote the National Vulnerabilities Database (NVD) verbatim “NOTE: some parties have mapped CVE-2012-3174 to an issue involving recursive use of the Reflection API, but that issue is already covered as part of CVE-2013-0422.”
With this incident, the biggest question on everyone’s mind is “Are users safe after installing the patch?” or “Does the patch protect from recent attacks using CVE-2013-0422?” Yes, but only until someone finds another bug to couple with the first issue. findclass method still remains an open issue, but cannot be exploited on its own. However, the message is clear: Java remains a big risk.
Given this issue, users must then consider if they really do need Java. If they don’t, they should uninstall it. For users who cannot avoid using Java, there are other ways to mitigate its risks:
- If you have Java installed because an application needs it, opt to disable Java in your browser(s)
- Disable Java on a per-browser basis. Pick a “secondary” browser to use for sites that use Java and disable it in your preferred browser
To know more on how to minimize the risk of using Java, you may read our blog post How to Use Java – If You Must.
Trend Micro users need not worry, as they are protected from this threat via Trend Micro™ Deep Security. Since the issue was first reported in our blog, we’ve guarded users from this threat via Deep Packet Inspection (DPI) rule 1004711 – Identified Malicious Java JAR Files. Trend Micro™ Smart Protection Network™ also detects related exploits targeting this Java flaw and blocks access to sites hosting the exploits.
With additional analysis from Deep Security Labs team