Researchers find critical vulnerability in Java 7 patch hours after release
Security researchers from Poland-based security firm Security Explorations claim to have discovered a vulnerability in the Java 7 security update released Thursday that can be exploited to escape the Java sandbox and execute arbitrary code on the underlying system.
Security Explorations sent a report about the vulnerability to Oracle on Friday together with a proof-of-concept exploit, Adam Gowdiak, the security company’s founder and CEO said Friday via email.
The company doesn’t plan to release any technical details about the vulnerability publicly until Oracle addresses it, Gowdiak said.
Oracle broke out of its regular four-month patching cycle on Thursday to release Java 7 Update 7, an emergency security update that addressed three vulnerabilities, including two that were being exploited by attackers to infect computers with malware since last week.
Java 7 Update 7 also patched a “security-in-depth issue” which, according to Oracle, was not directly exploitable, but could have been used to aggravate the impact of other vulnerabilities.
The patching of that “security-in-depth issue,” which Gowdiak calls an “exploitation vector,” rendered all of the proof-of-concept (PoC) Java Virtual Machine (JVM) security bypass exploits previously submitted by the Polish security firm to Oracle, ineffective.
According to Gowdiak, Security Explorations privately reported 29 vulnerabilities in Java 7 to Oracle back in April, including the two that are now actively exploited by attackers.
The reports were accompanied by a total of 16 proof-of-concept exploits that combined those vulnerabilities to fully bypass the Java sandbox and execute arbitrary code on the underlying system.
The removal of the getField and getMethod methods from the implementation of the sun.awt.SunToolkit class in Java 7 Update 7 disabled all of Security Explorations’ PoC exploits, Gowdiak said.
However, this only happened because the “exploitation vector” was removed, not because all vulnerabilities targeted by the exploits were patched, Gowdiak said.
The new vulnerability discovered by Security Explorations in Java 7 Update 7 can be combined with some of the vulnerabilities left unpatched by Oracle to achieve a full JVM sandbox bypass again.
“Once we found that our complete Java sandbox bypass codes stopped working after the update was applied, we looked again at POC codes and started to think about the possible ways of how to fully break the latest Java update again,” Gowdiak said. “A new idea came, it was verified and it turned out that this was it.”
Gowdiak doesn’t know when Oracle plans to address the remaining vulnerabilities reported by Security Explorations in April or the new one submitted by the security company on Friday.
It’s not clear if Oracle will release a new Java security update in October as it previously planned. Oracle declined to comment.
Security researchers have always warned that if vendors take too much time to address a reported vulnerability it might be discovered by the bad guys in the meantime, if they don’t already know about it.
It happened on multiple occasions for different bug hunters to discover the same vulnerability in the same product independently and this is what might have also happened in the case of the two actively exploited Java vulnerabilities that were addressed by Java 7 Update 7.
“Independent discoveries can never be excluded,” Gowdiak said. “This specific issue [the new vulnerability] might be however a little bit more difficult to find.”
Based on the experience of Security Explorations researchers with hunting for Java vulnerabilities so far, Java 6 has better security than Java 7. “Java 7 was surprisingly much easier for us to break,” Gowdiak said. “For Java 6, we didn’t manage to achieve a full sandbox compromise, except for the issue discovered in Apple Quicktime for Java software.”
Gowdiak has echoed what many security researchers have said before: If you don’t need Java, uninstall it from your system.