A logic flaw exists within com.sun.beans.finder.ClassFinder and sun.awt.SunToolkit.getField(), which allows untrusted code to gain access to restricted packages and allows code to modify private fields, respectively. Access to restricted packages (ClassFinder) allows an attacker to overwrite the permissions (getField()) of java.beans.Statement, which then subsequently can be used to disable the Java Security Manager. This allows attacker code to be arbitrarily executed within the context of the currently logged on user. A Metasploit module for this vulnerability has been created, and targets Windows, Linux, and OS X through any major browser. Additionally, this vulnerability is exploited by the BlackHole exploit kit.
- Java 7 to 7u6
Remote Code Execution
Remote Code Execution Exploitation of this vulnerability is possible through the use of methods like drive-by attacks. Remote attackers who successfully exploit this vulnerability will be able to execute code on the vulnerable system with the same rights as the currently logged on user.
BeyondTrust Prevention and Detection:
BeyondTrust's Retina® Network Security Scanner scans devices to detect for this vulnerability.
- 17016 – Oracle Sun Java ClassFinder Vulnerability (CVE-2012-4681) – Windows – JDK
- 17017 – Oracle Sun Java ClassFinder Vulnerability (CVE-2012-4681) – Windows – JRE
- 17018 – Oracle Sun Java ClassFinder Vulnerability (CVE-2012-4681) – UNIX/Linux – JDK
- 17019 – Oracle Sun Java ClassFinder Vulnerability (CVE-2012-4681) – UNIX/Linux – JRE
Disable Java until a patch is released.
- FireEye Analysis
- DeepEnd Research Analysis
- Metasploit Blog Post
- Metasploit Module
- Vendor Patch