informa
Commentary

Java Trouble Brewing For Apple

Like most computer geeks with the latest toys, I can always find a way to play rather than work. My procrastination tendencies can sometimes lead to troubling results (just ask my girlfriend), so I often give vendors some leeway when it comes to patching vulnerabilities. But some vendors just don't get it.
Like most computer geeks with the latest toys, I can always find a way to play rather than work. My procrastination tendencies can sometimes lead to troubling results (just ask my girlfriend), so I often give vendors some leeway when it comes to patching vulnerabilities. But some vendors just don't get it.Patching vulnerabilities is never as easy as changing a line of code and recompiling. Vendors that integrate open-source projects have an even harder problem because the details of a flaw might be fixed in a source tree long before they are able to bundle a fix and get it into users hands. I call this window between an open-source project fixing a security program and a commercial vendor that deploys the open-source code applying the patch the "window of owning." Basically, you get free bugs if you keep track of what open-source project is patching what and who it affects.

Apple traditionally has a huge "window of owning." A quick look at the number of open-source and third-party apps that go into OS X shows a consistently large opportunity for exploiting OS X users. (While you may be inclined to chalk my thoughts to prior disagreements with Apple, you would be wrong -- and your Mac would remain open to this vulnerability).

A Java vulnerability making recent headlines has given attackers a great chance to use and abuse Mac users worldwide: Landon Fuller published details of a flaw that has long since been fixed in Java, but has yet to be fixed in OS X. The flaw, CVE-2008-5353, was fixed by Sun back in January. This affects OS X users because Apple integrates Java and has yet to make the patch available to its users.

Make no mistake: This bug is trivial to exploit and has a devastating effect. The example Fuller offers on his Website harmlessly uses the "say" command to inform a user that he is vulnerable. This isn't a case of a vulnerability being hyped and not actually dangerous. Because of the design and implementation of Java, many of the security features Apple added to OS X -- like a Non-eXecutable (NX) stack and Address Space Layout Randomization (ASLR) -- have no effect in stopping this exploit.

An attacker with a bit of knowledge could make your OS X machine download a rootkit, start or stop processes, add users, and steal information. These are attacks Mac users generally think they are immune to.

Last year at Defcon, Rob Graham and I discussed how to set up a spear-phishing site that is the first part of a remote penetration test. Since this OS X vulnerability requires no user interaction, works with Firefox and Safari, and gives access to the file system, it's the perfect exploit to use to get a foothold into a network. The best part is if the site is hosted over SSL, none of the perimeter protection will be able to detect the attack. This exploit is a pen tester's Christmas present.

So what's the solution? You can disable Java, but a lot of applications in the enterprise need Java to work. You could try and not visit any Websites, but the way this vulnerability is manifested in OS X, there are plenty of ways to get to it. The only real solution is Apple releasing a patch, but as of today that patch is a little more than four months behind. At this rate, by the time Apple patches the vulnerability, there will probably be another vulnerability that attackers can take advantage of. Happy surfing!

David Maynor is CTO of Errata Security. Special to Dark Reading

Recommended Reading: