Patch All The Things! New "Cupid" Technique Exploits Heartbleed Bug

The Heartbleed bug exploits a popular security library and lets attackers grab chunks of memory from supposedly secure servers. A new technique called "Cupid" exploits Heartbleed on Linux and Android devices.

In April, we learned that a bug in the popular OpenSSL code library could allow attackers to scoop up memory from supposedly secure servers, potentially capturing login credentials, private keys, and more. Dubbed "Heartbleed", this bug existed for years before being discovered. Most discussions of this bug assumed that hackers would use it against secure servers. However, a new report demonstrates that it can be easily exploited on both servers and endpoints running Linux and Android.

Luis Grangeia, a researcher at SysValue, created a proof-of-concept code library that he calls "Cupid." Cupid consists of two patches to existing Linux code libraries. One allows an "evil server" to exploit Heartbleed on vulnerable Linux and Android clients, while the other allows an "evil client" to attack Linux servers. Grangeia has made the source code freely available, in hopes that other researchers will join in to learn more about just what kind of attacks are possible.

Not All Are Vulnerable Cupid specifically works against wireless networks that use the Extensible Authentication Protocol (EAP). Your home wireless router almost certainly doesn't use EAP, but most Enterprise-level solutions do. According to Grangeia, even some wired networks use EAP and hence would be vulnerable.

A system patched with the Cupid code has three opportunities to grab data from the victim's memory. It can attack before the secure connection is even made, which is a bit alarming. It can attack after the handshake that establishes security. Or it can attack after application data has been shared.

As for just what a Cupid-equipped device can capture, Grangeia hasn't extensively determined that, though "cursory inspection found interesting stuff on both vulnerable clients and servers." Whether this "interesting stuff" might include private keys or user credentials isn't yet known. Part of the reason for releasing the source code is to get more brains working on discovering such details.

What Can You Do? Android 4.1.0 and 4.1.1 both use a vulnerable version of OpenSSL. According to a report from Bluebox, later versions are technically vulnerable, but the heartbeat messaging system is disabled, giving Heartbleed nothing to exploit.

If your Android device is running 4.1.0 or 4.1.1, upgrade if possible. If not, Grangeia advises that "you should avoid connecting to unknown wireless networks unless you upgrade your ROM."

Linux systems that connect via wireless are vulnerable unless OpenSSL has been patched. Those using such systems should double-check to make sure the patch is in place.

As for corporate networks that use EAP, Grangeia suggests they get the system tested by SysValue or another agency.

Macs, Windows boxes, and iOS devices aren't affected. For once, it's Linux that's in trouble. You can read Grangeia's full post here or view a slideshow presentation here. If you're a researcher yourself, you may want to grab the code and do a little experimenting.

Neil Rubenking served as vice president and president of the San Francisco PC User Group for three years when the IBM PC was brand new. He was present at the formation of the Association of Shareware Professionals, and served on its board of directors. In 1986, PC Magazine brought Neil on board to handle the torrent of Turbo Pascal tips submitted by readers. By 1990, he had become PC Magazine's technical editor, and a coast-to-coast telecommuter. His "User to User" column supplied readers with tips...
More »