Feeds

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

Inflicts major harm with limited resources

Choosing a cloud hosting partner with confidence

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.®

Beginner's guide to SSL certificates

Whitepapers

Forging a new future with identity relationship management
Learn about ForgeRock's next generation IRM platform and how it is designed to empower CEOS's and enterprises to engage with consumers.
Win a year’s supply of chocolate
There is no techie angle to this competition so we're not going to pretend there is, but everyone loves chocolate so who cares.
Why cloud backup?
Combining the latest advancements in disk-based backup with secure, integrated, cloud technologies offer organizations fast and assured recovery of their critical enterprise data.
High Performance for All
While HPC is not new, it has traditionally been seen as a specialist area – is it now geared up to meet more mainstream requirements?
Saudi Petroleum chooses Tegile storage solution
A storage solution that addresses company growth and performance for business-critical applications of caseware archive and search along with other key operational systems.