'Heartbleed' bug in OpenSSL puts encrypted communications at risk

Administrators are advised to patch and revoke old private keys

Computer security experts are advising administrators to patch a severe flaw in a software library used by millions of websites to encrypt sensitive communications.

The flaw, nicknamed "Heartbleed," is contained in several versions of OpenSSL, a cryptographic library that enables SSL (Secure Sockets Layer) or TLS (Transport Security Layer) encryption. Most websites use either SSL or TLS, which is indicated in browsers with a padlock symbol.

The flaw, which was introduced in December 2011, has been fixed in OpenSSL 1.0.1g, which was released on Monday.

The vulnerable versions of OpenSSL are 1.0.1 through 1.0.1f with two exceptions: OpenSSL 1.0.0 branch and 0.9.8, according to a special website set up by researchers who found the problem.

If exploited, the flaw could allow attackers to monitor all information passed between a user and a Web service or even decrypt past traffic they've collected.

"This allows attackers to eavesdrop communications, steal data directly from the services and users and to impersonate services and users," the researchers wrote.

The bug was discovered by three researchers from Codenomicon, a computer security company, and Neel Mehta, who works on security for Google.

The scope of the problem is vast, as many modern operating systems are suspected as having an affected OpenSSL version.

Operating systems that may have a vulnerable version of OpenSSL include Debian Wheezy, Ubuntu 12.04.4 LTS, CentOS 6.5, Fedora 18, OpenBSD 5.3, FreeBSD 8.4, NetBSD 5.0.2 and OpenSUSE 12.2, they wrote.

The "oldstable" versions of Debian Squeeze and Suse Linux Enterprise Server are not vulnerable.

OpenSSL also underpins two of the most widely used Web servers, Apache and nginx. The code library is also used to protect email servers, chat servers, virtual private networks and other networking appliances, they wrote.

The problem, CVE-2014-0160, is a missing bounds check in the handling of the TLS heartbeat extension, which can then be used to view 64K of memory on a connected server, according to another advisory.

It allows attackers to obtain the private keys used to encrypt traffic. With those keys, it is also possible for attackers to decrypt traffic they've collected in the past.

The attackers can only access 64K of memory during one iteration of the attack, but the attackers can "keep reconnecting or during an active TLS connection keep requesting arbitrary number of 64 kilobyte chunks of memory content until enough secrets are revealed," according to the website.

It's unclear if attackers have been exploiting the flaw over the last two years, which was just publicly revealed on Monday. But attacks using the flaw "leaves no traces of anything abnormal happening to the logs," the researchers wrote.

Administrators are advised to apply the up-to-date version of SSL, revoke any compromised keys and reissue new keys.

Send news tips and comments to jeremy_kirk@idg.com. Follow me on Twitter: @jeremy_kirk

Join the Computerworld newsletter!

Error: Please check your email address.

Tags VulnerabilitiesOpenSSLsecurityHeartbleedSSL

More about ApacheDebianFedoraGoogleLinuxOpenBSDSuseUbuntu

1 Comment

Steve Wilson


This bug in the heart of ubiquitous open source SSL security code comes a few weeks after the "goto fail" bug in Apple's iOS. We need to spend time looking at how these sorts of bugs arise, and what can be done to reform development processes to improve quality.
In my view, the "goto fail" bug is emblematic of chaotic software craftsmanship (there is no cause to use the term "engineering" here). It appears that goto statements are used with gay abandon throughout web code, in stark contrast to the advice of the godparents of Structured Programming. Ritchie, Djikstra and others warned in the 1970s that excessive use of gotos make source code hard to understand, hard to maintain and hard to test. Sound familiar? It is frankly appalling that such crappy code as "goto fail" can be written at the mission critical heart of web software, and that it can have got through testing and code inspection.
So we should look at Heartbleed very carefully. It is said that the fix is "trivial" which suggests to me that the source code error is trivial too. What led to the error being made? And why didn't to get detected sooner? The affected code has been in the wild for over a year!
I'm worried that code inspection seems not to be widely practiced anymore. One of the precepts of Open Source Software is that having many eyes looking over the code means that errors will be picked up. The Heartbleed bug seems like a spectacular counterexample.
Openness of source code does very little good if nobody is actually looking carefully.
Steve Wilson, Lockstep.

Comments are now closed

TPG presence won't stop NBN Co installing FTTB equipment