Feeds

'Mark-of-the-Beast' bug topples Java apps

Inflicts major harm with limited resources

The essential guide to IT transformation

A bug in Oracle's Java programming framework causes computers to freeze when they encounter certain numerical values with large numbers of decimal places, a flaw that makes websites susceptible to highly efficient denial-of-service attacks.

The vulnerability in the latest version of Java is similar to a flaw discovered last month that plagued the PHP language. It is trigged when applications attempt to process values such as 2.2250738585072011e-308. Systems running both Windows- and Linux-based apps that try to assign the value to a “double” variable succumb to an infinite loop that consumes 100 percent of their CPU's resources.

Bryan Sullivan, a senior security researcher at Adobe Systems, has dubbed the bugs “application-level denial of service” vulnerabilities and warned they make sensitive websites vulnerable to attacks that can inflict serious harm with minimal resources.

“The worst part about all of these techniques is that they’re both extremely effective at soaking up server resources and also extremely asymmetric in terms of attacker effort versus effect,” he wrote last month. “In most cases, a single HTTP request of less than 1,000 bytes is enough to exploit the vulnerability. This essentially reduces the attacker’s cost to zero, makes it unlikely that he’ll ever be caught, and makes it even more unlikely that you’ll be able to prevent the attack with any kind of IPS or firewall.”

Sullivan has offered a simple blacklist filtering script that developers can use to insulate their Java-based apps from danger until Oracle issues a patch. The temporary workaround is easy enough to use, but it may generate false positives, he said.

The Java vulnerability was first disclosed by Konstantin Preißer. He said that Windows machines running the latest 32-bit or 64-bit editions of JRE/JDK 1.6.0_23 were vulnerable. He also experienced the problem with 32-bit Java running on OpenSuse Linux.

The bug stems from the difficulty of representing some floating-point numbers in the binary format that computers need to perform certain tasks. Such values are frequently best approximations that are calculated by the underlying CPU. As Sullivan explained in an email to The Register:

The problem with this particular range of values that causes the hang for Java is that there's a logic flaw in the Java code that performs the approximation. There's a loop in the code that tests different possibilities to try to get as close as possible to the correct value: a little higher value this iteration, then a little lower, and so on until the best approximation is made. But when this code tries to approximate values around 2.225073858507201E-208, it loops forever, never finding an acceptable approximation.

It took PHP maintainers about 48 hours to fix the denial-of-service bug after it first came to light. Oracle has generally not been as nimble in fixing security bugs in Java except when security watchers raise a big stink.

Word of the denial-of-service threat came a few days before a separate researcher warned of an unrelated Java bug that makes users vulnerable to attacks that allow hackers to rename or upload files at will and could be used for delayed Remote Code Execution exploits. Researcher Sami Koivu said he reported the flaw to Sun in 2008 but that it still hasn't been fixed.®

Next gen security for virtualised datacentres

More from The Register

next story
Rupert Murdoch says Google is worse than the NSA
Mr Burns vs. The Chocolate Factory, round three!
e-Borders fiasco: Brits stung for £224m after US IT giant sues UK govt
Defeat to Raytheon branded 'catastrophic result'
Germany 'accidentally' snooped on John Kerry and Hillary Clinton
Dragnet surveillance picks up EVERYTHING, USA, m'kay?
Snowden on NSA's MonsterMind TERROR: It may trigger cyberwar
Plus: Syria's internet going down? That was a US cock-up
Who needs hackers? 'Password1' opens a third of all biz doors
GPU-powered pen test yields more bad news about defences and passwords
Think crypto hides you from spooks on Facebook? THINK AGAIN
Traffic fingerprints reveal all, say boffins
Microsoft cries UNINSTALL in the wake of Blue Screens of Death™
Cache crash causes contained choloric calamity
prev story

Whitepapers

5 things you didn’t know about cloud backup
IT departments are embracing cloud backup, but there’s a lot you need to know before choosing a service provider. Learn all the critical things you need to know.
Implementing global e-invoicing with guaranteed legal certainty
Explaining the role local tax compliance plays in successful supply chain management and e-business and how leading global brands are addressing this.
Build a business case: developing custom apps
Learn how to maximize the value of custom applications by accelerating and simplifying their development.
Rethinking backup and recovery in the modern data center
Combining intelligence, operational analytics, and automation to enable efficient, data-driven IT organizations using the HP ABR approach.
Next gen security for virtualised datacentres
Legacy security solutions are inefficient due to the architectural differences between physical and virtual environments.