OpenSSL 1.0.1 – 1.0.1f vulnerability

A critical vulnerability has been discovered in the OpenSSL cryptography software. This vulnerability, which affects all versions from 1.0.1 to 1.0.1f, allows attackers to eavesdrop on any connection secured by the OpenSSL software. Remote attackers can force the server to disclose its private key which can be used to decrypt sensitive information such as usernames, passwords and actual content.

This affects all modern operating systems running the affected version of OpenSSL, including Solaris, CentOS, Ubuntu, and Debian, and will affect any services based on these platforms. The attack itself requires little effort and leaves no evidence.

Any service relying on these versions of OpenSSL should be considered at risk. Proprietary appliances (such as Systems & DNS Management tools) may also be running affected versions of OpenSSL. We have confirmed that VMware ESXi 5.5 is vulnerable to this and access to this system should be heavily restricted until a patch is available. Check with your vendors if you are unsure. If a patch is available, it should be applied immediately, otherwise access to any affected services should be heavily restricted or disabled.

For more information about this vulnerability, please see

If you identify a system that is vulnerable to this exploit our advice is to:

  1. Patch the system first either by installing a patched version of OpenSSL (1.0.1g and 1.0.2-beta2) or by compiling with the –DOPENSSL_NO_HEARTBEATS flag
  2. Generate a new private key
  3. Replace the certificates on the concerned system.

Patches are now available for the following Operating Systems. These patches fix the vulnerability. Spot checks will still report heartbeat is enabled and a vulnerable version number.

* Note: vulnerable versions of RedHat are only 1.0.1e-15 through 1.0.1e-16.el6_5.4. Patched versions of RedHat are 1.0.1e-16.el6_5.7 and later.

Some more information regarding this vulnerability:

Localhost Spot Checks:
openssl version -a| grep -oE '1.0.1[a-g]{1}?|DOPENSSL_NO_HEARTBEATS'
This should return the version, assuming version 1.0.1x. 1.0.1 to 1.0.1f is potentially vulnerable. If the OPENSSL_NO_HEARTBEATS flag shows up then it’s not vulnerable regardless of version. If your system is patched with the latest debian/ubuntu/rhel/centos versions

Remote Spot Check:
echo ""|openssl s_client -connect $MYHOST:443 -tlsextdebug 2>&1
| egrep 'heartbeat'

Expected response for a potentially vulnerable host is: TLS server extension “heartbeat” (id=15), len=1.
This should be followed up with a local version check or a PoC test.

Qualys:
QID 42430 scans for this known issue, but results may vary from the PoC scan (see below).

PoC, available at https://gist.github.com/jpicht/10114168
This scanner defaults to TLS 1.0. Use ‘-v 2’ to test TLS 1.1. You should do tests for 1.0 and 1.1 to be thorough. Scans have had systems come up as vulnerable in one version but not the other.

Nessus Plugin, available at http://www.tenable.com/plugins/index.php?view=single&id=73412
Use plugin serial number: 201404081115