Oracle released an out-of-band patch Sunday to fix two zero-day vulnerabilities in Java that are being actively exploited by attackers.
A security alert from Oracle said that the patched vulnerabilities include CVE-2013-0422 (Oracle Java 7 Security Manager Bypass Vulnerability) as well as "another vulnerability affecting Java running in Web browsers." The Java update also changes the default security level for browser-based Java applets and applications from "medium" to "high," which means that any unsigned Java Web apps won't run without a user's approval. Oracle said the change is meant "to prevent silent exploitation.”
All Java users should apply the update as soon as possible, according to the Oracle security advisory, "due to the severity of these vulnerabilities, the public disclosure of technical details and the reported exploitation of CVE-2013-0422 'in the wild.'" Indeed, in recent days Symantec has reported seeing about 300,000 related attacks per day launched by exploit kits. The attacks predominantly target PC users based in the United States.
The patched Java vulnerabilities were first spotted last week by security researchers, who warned that they were being actively exploited by attackers. By Friday, related exploit capabilities had been added to the Blackhole, Cool Exploit Kit, Impact and Redkit crimeware toolkits, and also incorporated into Metasploit, a free, open source penetration testing framework.
[ Is hacktivism protected by the First Amendment? See Anonymous Says DDoS Attacks Like Free Speech. ]
Which versions of Java are at risk? Oracle said Sunday that the two zero-day vulnerabilities affect only Java 7 running in Web browsers. "These vulnerabilities are not applicable to Java running on servers, standalone Java desktop applications or embedded Java applications," according to the security advisory. "They also do not affect Oracle server-based software." Specifically, Oracle said the vulnerabilities are present in Java Development Kit (JDK) and Java Runtime Environment (JRE) version 7, update 10 and earlier -- but not in Java 6, 5.0 or 1.4.2. In addition, "Java SE Embedded JRE releases are not affected," said Oracle.
Veteran Java bug hunter Adam Gowdiak, who heads Security Explorations, confirmed via email Monday that Oracle's fix is sound. "The version released [Sunday] blocks the recent Java 0-day exploit code," he said.
Interestingly, at least one of the flaws patched by Oracle resulted from the company failing to fully fix a previous flaw -- disclosed to the company last year by Gowdiak -- that it supposedly patched in October. The episode recalls a Java 7 fix from Oracle released last year that patched one flaw, but introduced another.
The zero-day bugs in Java that were publicly disclosed last week are the latest in a long line of zero-day vulnerabilities that have been discovered in the software. Since Java is widely installed and runs on multiple platforms, it appears to have become a favorite target of attackers, who can potentially exploit new vulnerabilities not only on Windows systems, but also Mac OS X and Linux systems.
After last week's discovery of the latest zero-day vulnerabilities, the Department of Homeland Security (DHS) Thursday recommended temporarily disabling Java until an effective mitigation technique or patch was released. The DHS recommendation appears to be its standard advice for any critical flaw in widely used software that's being actively exploited by attackers, for which no mitigation techniques or patches are immediately available.
Apple, meanwhile, Friday took the unusual step of updating its OS X malware definitions list to not block a virus, but rather all versions of Java prior to 18.104.22.168. "This updated definition temporarily disabled the Java Web Start browser plug-in that enables Java applications to run inside of Safari/Firefox/Chrome," said Chester Wisniewski, a senior security advisor at Sophos Canada, in a blog post. Similarly, Mozilla updated its click-to-play settings list to include Java, meaning that any attempt to launch Java -- malicious or not -- will require that a user authorize the request.
It will be a big month for Oracle patches, as the company's next critical patch update release is scheduled for Tuesday. According to Oracle's pre-release announcement, "this Critical Patch Update contains 86 new security vulnerability fixes across hundreds of Oracle products." Oracle said one of the patches is for a flaw in Oracle Database Mobile Server -- as well as Database Lite Server -- which may allow attackers to remotely execute arbitrary code with no user input.
Oracle isn't the only technology giant set to issue emergency patches for zero-day flaws this month. Microsoft announced Sunday that it plans to release a fix Monday for a zero-day vulnerability in Internet Explorer. While Microsoft hasn't detailed which bug it's fixing, the company noted that the critical vulnerability could be automatically exploited to run arbitrary code without any user interaction, meaning that it could be used to exploit PCs via self-propagating worms, drive-by attacks from malicious Web pages or when a user opens an email.
According to Paul Ducklin, head of technology for Sophos in the Asia Pacific region, the patch is most likely for a zero-day flaw in IE that was confirmed on Dec. 29 by Microsoft. The company had already published a FixIt tool to mitigate the vulnerability, and recommended that businesses harden their Windows installation by using its Enhanced Mitigation Experience Toolkit (EMET).
Even so, "there are reports that variants of this exploit exist that work even if you are using EMET, and even after you have run Microsoft's abovementioned FixIt, said Ducklin in a blog post. But luckily, the bug that Microsoft is most likely patching isn't present in the latest versions of IE. "The 2794220 vulnerability affects neither IE 9 nor IE 10. If you're already using one of those versions, you're sitting pretty," he said.