Dark Reading is part of the Informa Tech Division of Informa PLC

This site is operated by a business or businesses owned by Informa PLC and all copyright resides with them.Informa PLC's registered office is 5 Howick Place, London SW1P 1WG. Registered in England and Wales. Number 8860726.

Vulnerabilities / Threats

Java Zero Day Attack: Second Bug Found

Were security researchers irresponsible to detail the zero-day vulnerabilities without first working with Oracle to craft a patch?

Oracle Brings High-Tech To The High Seas
Oracle Brings High-Tech To The High Seas
(click image for larger view and for slideshow)
The zero-day Java attack recently discovered by security researchers, which appears to have been launched from China, is more complex than previously thought.

While researchers had identified a Java 7 security-settings bug exploited in the attack, they've since found that it's chained together with a second vulnerability. "Most of the online analysis talks about one vulnerability, where we saw two vulnerabilities being exploited to achieve full execution on a target," according to a blog post from Esteban Guillardoy, who's a Python developer and security researcher working for information security firm Immunity.

"The first bug was used to get a reference to sun.awt.SunToolkit class that is restricted to applets, while the second bug invokes the getField public static method on SunToolkit using reflection, with a trusted immediate caller bypassing a security check." He said the two bugs had to be chained together to create a working exploit. He also noted that the "getField" Java bug was introduced with Java 7.0-- which debuted on July 28, 2011--and suggested that a foreign nation state, or states, may have been "enjoying it non-stop for quite some time now."

"The beauty of this bug class is that it provides 100% reliability and is multiplatform," he said. "Hence this will shortly become the penetration test Swiss knife for the next couple of years."

[ Could an international 'cyber arms' agreement forestall U.S. cyber warfare with China and other countries? See The Case For A Cyber Arms Treaty. ]

Researchers said the related zero-day attack appears to have been launched from servers in China, and that it's being used to deliver the Poison Ivy remote-access toolkit (RAT) onto infected systems. According to a heatmap of related Poison Ivy infections released by Kaspersky Lab, the greatest number of related infections have been seen in China, followed by Russia.

The discovery of the Java 7 vulnerabilities has led numerous security experts to recommend that enterprises disable Java in browsers. US-CERT Tuesday released a security alert noting that "disabling the Java browser plug-in may prevent a malicious webpage from exploiting this vulnerability." In addition, for Firefox users, it said that "using the ... NoScript extension to whitelist websites that can run scripts and access installed plug-ins will mitigate this vulnerability."

Users of systems targeted by the exploit likely wouldn't notice the attack. "It does not crash browsers, the landing page looks like a blank page, sometimes one may see a flash of a rotating Java logo and the word 'Loading,'" according to an analysis published by Andre' M. DiMino and Mila Parkour at DeepEnd Research.

To help identify vulnerable systems, both Rapid7 and Zscaler are offering free online tools which will review a user's system for the presence of vulnerable Java code. Zscaler also offers a guide to disabling Java in Chrome, Firefox, and Internet Explorer. While the vulnerability affects Windows, Apple OS X, and Linux systems, most Mac users will be protected, since Java 6--not Java 7--is installed on OS X by default, although Java 7 can be added manually.

Oracle releases patches on a quarterly cycle, and its next bug fix isn't due until October. But DeepEnd Research Tuesday began offering its own patch for the vulnerability, though it must be requested directly from the company, which said it's restricting distribution "not to preserve the code but limit it to IT administrators and developers who can test and decide if they want to deploy." In other words, it's a temporary fix, and may break existing systems. "We do not want to push/offer it to 3 billion end Java users, it wasn't tested in all the possible scenarios and systems," said DiMino and Parkour in a blog post.

In addition, DeepEnd said it will share a "commented and stripped-down version of the exploit source, to be run from the command line with a security manager enabled," as well as a copy of the original zero-day attack HTML page--including JavaScript, the Java applet, a copy of the Poison Ivy RAT, and pcap--upon request, provided requesters offer a valid reason for seeing the proof-of-concept (PoC) code.

Whoever built this zero-day attack was extremely skilled in Java programming. "At this moment exploiting [these] vulnerabilities is not hard, in fact the PoC that was released is almost a fully working exploit and with a just few changes, setting a different payload instead of popping up a calculator, you have everything you need," Guillardoy told Threatpost. "However finding these vulnerabilities and [using] them in a useful way is a much harder task that requires a wide knowledge of the Java JDK/JRE codebase and deep understanding of the Java security architecture."

But FireEye's initial disclosure of the zero-day attack, followed by detailed analyses from other researchers, has led to criticism that the exploit was irresponsibly disclosed. "The Java 0day activity that we have been monitoring and preventing for almost the past week has been irresponsibly reported on other blogs, with early posts publicly linking to known sites serving the 0day," said Kurt Baumgartner, a security researcher at Kaspersky Lab, in a blog post.

"Would you encourage folks to walk down a mugger's dark alley with no protection or would you work to communicate the muggers' whereabouts to the right folks and work on lighting the alley or giving better directions? Would you provide muggers with some new weapons that they haven't considered? The efforts this time around seem misplaced," he said.

On the other hand, the bug was already being actively exploited by attackers, and researchers reported that numerous antivirus tools--including from McAfee and Symantec--weren't spotting or stopping the threat. Accordingly, did Kaspersky err by spotting the vulnerability, but failing to disclose it publicly?

Cybercriminals are taking aim at your website. Is your security strategy up to the challenge? Also in the new, all-digital 10 Steps To E-Commerce Security special issue of Dark Reading: About half of the traffic to e-commerce sites is machine generated--and much of it is malicious. (Free registration required.)

Comment  | 
Print  | 
More Insights
Newest First  |  Oldest First  |  Threaded View
User Rank: Apprentice
8/31/2012 | 11:05:23 AM
re: Java Zero Day Attack: Second Bug Found
Yes, if there's an in-the-wild attack already exploiting the vulnerability, it seems like the cat's already out of the bag. Interesting that after knowing about the vulnerability for four months, it took Oracle just four days to release an emergency patch after FireEye publicized the related attack.
User Rank: Apprentice
8/30/2012 | 8:44:42 PM
re: Java Zero Day Attack: Second Bug Found
Since this was known to be an actively exploited vulnerability, there was no harm in disclosure. We all learned long ago that security by obscurity is no security at all. I'd be inclined to believe Kaspersky was keeping quiet in the hopes of gaining a competitive advantage and putting their own interests above their customers and the community at large.
7 Old IT Things Every New InfoSec Pro Should Know
Joan Goodchild, Staff Editor,  4/20/2021
Cloud-Native Businesses Struggle With Security
Robert Lemos, Contributing Writer,  5/6/2021
Defending Against Web Scraping Attacks
Rob Simon, Principal Security Consultant at TrustedSec,  5/7/2021
Register for Dark Reading Newsletters
White Papers
Current Issue
2021 Top Enterprise IT Trends
We've identified the key trends that are poised to impact the IT landscape in 2021. Find out why they're important and how they will affect you today!
Flash Poll
How Enterprises are Developing Secure Applications
How Enterprises are Developing Secure Applications
Recent breaches of third-party apps are driving many organizations to think harder about the security of their off-the-shelf software as they continue to move left in secure software development practices.
Twitter Feed
Dark Reading - Bug Report
Bug Report
Enterprise Vulnerabilities
From DHS/US-CERT's National Vulnerability Database
PUBLISHED: 2021-05-14
TensorFlow is an end-to-end open source platform for machine learning. If the `splits` argument of `RaggedBincount` does not specify a valid `SparseTensor`(https://www.tensorflow.org/api_docs/python/tf/sparse/SparseTensor), then an attacker can trigger a heap buffer overflow. This will cause a read ...
PUBLISHED: 2021-05-14
TensorFlow is an end-to-end open source platform for machine learning. An attacker can cause a denial of service via a FPE runtime error in `tf.raw_ops.DenseCountSparseOutput`. This is because the implementation(https://github.com/tensorflow/tensorflow/blob/efff014f3b2d8ef6141da30c806faf141297eca1/t...
PUBLISHED: 2021-05-14
express-hbs is an Express handlebars template engine. express-hbs mixes pure template data with engine configuration options through the Express render API. More specifically, the layout parameter may trigger file disclosure vulnerabilities in downstream applications. This potential vulnerability is...
PUBLISHED: 2021-05-14
haml-coffee is a JavaScript templating solution. haml-coffee mixes pure template data with engine configuration options through the Express render API. More specifically, haml-coffee supports overriding a series of HTML helper functions through its configuration options. A vulnerable application tha...
PUBLISHED: 2021-05-14
Squirrelly is a template engine implemented in JavaScript that works out of the box with ExpressJS. Squirrelly mixes pure template data with engine configuration options through the Express render API. By overwriting internal configuration options remote code execution may be triggered in downstream...