The critical Java vulnerabilities that have security experts cautioning users to disable Java in their browsers are not new discoveries, a security firm claims. On the contrary, Oracle has known about them for months, and it has probably had a patch ready since before an exploit was discovered in the wild.

Security Explorations, a startup based in Poland, says it disclosed details of a total of 31 Java security issues to Oracle in April of this year, including the ones currently under attack. Of that list, only two issues were fixed in the last Java Critical Patch Update (CPU), which was issued on June 12.

"We ... expected that the most serious of them would be fixed by June 2012 Java CPU," Security Explorations CEO and founder Adam Gowdiak told The Reg, "But it didn't happen and Oracle left many issues unpatched with plans to address them in the next Java CPUs."

Ordinarily, Oracle only issues CPUs three times a year, which means the next one isn't due to arrive until October 16.

Oracle continued to provide Security Explorations with updates on its progress toward fixing the flaws throughout the following months, Gowdiak says, and by August 23 it reported that it had developed fixes for all but six of the issues.

Gowdiak did not disclose details of which specific vulnerabilities Oracle confirmed it had fixed and when, but if we assume that the vulnerabilities currently being exploited aren't among the six that remain open, then Oracle very likely could have made patches available to customers months ago. Instead, it stuck to its roadmap.

As a result, the vulnerabilities remain unpatched, and on Sunday security firm FireEye discovered a working exploit for one of the flaws on a website based in Asia.

Since then, the exploit has been incorporated into some of the more popular hacking and penetration testing tools, meaning even the most inept script kiddies can potentially use it to execute arbitrary code or install malware on affected systems.

Much like Microsoft's "Patch Tuesday," Java's slow-but-steady patch schedule is designed to give enterprise customers time to properly test the fixes before deploying them.

But although such long lead times might be necessary for IT departments in charge of critical Java applications and middleware, individual users running Java in their browsers have different needs. While backend systems are usually shielded from exploits by firewalls and security systems, a user whose browser is directed to a malicious website is essentially wide open to attack.

"Oracle's patching cycle should take into account that from time to time there is a need to release and out-of-band patch for ongoing 0-day attacks threatening the security of the users of the company's Java software," Gowdiak says.

Oracle has made no public statement regarding the issue and it did not respond when contacted for comment by The Reg. ®