Remember OpenSSL Heartbleed vulnerability? Several weeks ago, the exposure of this security bug chilled the Internet, revealed that millions of websites were vulnerable to a flaw in the OpenSSL code which they used to encrypt their communications.
Now once again the OpenSSL Foundation has issued software updates to patch six new vulnerabilities, and two of them are critical.
MAN-IN-THE-MIDDLE ATTACK (CVE-2014-0224)
First critical vulnerability (CVE-2014-0224) in OpenSSL is "CCS Injection" - resides in ChangeCipherSpec (CCS) request sent during the handshake that could allow an attacker to perform a man-in-the-middle attack against the encrypted connection servers and clients.
By exploiting this vulnerability an attacker could intercept an encrypted connection which allows him to decrypt, read or manipulate the data. But the reported flaw is exploitable only if both server and client are vulnerable to this issue.
According to the OpenSSL advisory, "An attacker using a carefully crafted handshake can force the use of weak keying material in OpenSSL SSL/TLS clients and servers." All versions of OpenSSL are vulnerable on the client side. Only 1.0.1 and above are currently known to be vulnerable on the server side. SSL VPN (virtual private network) products are believed to be especially vulnerable to this flaw.
OpenSSL CCS Injection vulnerability is discovered by a Japanese security researcher, Masashi Kikuchi from Lepidum security firm. According to him this bug was existed since the very first release of OpenSSL. RedHat also posted a detailed explanation about this bug on their security blog.
DTLS invalid fragment vulnerability (CVE-2014-0195): Sending invalid DTLS fragments to a OpenSSL DTLS client or server can lead to a buffer overrun attack. A potential hacker could exploit this flaw to run arbitrary code on a vulnerable client or server. This vulnerability also marked as critical bug.
DTLS recursion flaw (CVE-2014-0221): A remote attacker can send an invalid DTLS (Datagram Transport Layer Security) handshake to an OpenSSL DTLS client, which will force the code to recurse eventually crashing in a DoS attack. This attack is limited to the applications using OpenSSL as a DTLS client.
DTLS mainly used in VOIP and other communication related applications like Cisco Systems' AnyConnect VPN Client. Chrome and Firefox web browser also support DTLS for WebRTC (Web Real-Time Communication) for P2P file sharing and Voice/Video Chats.
Other important OpenSSL vulnerabilities are:
- SSL_MODE_RELEASE_BUFFERS NULL pointer dereference (CVE-2014-0198), allows remote attackers to cause a denial of service via a NULL pointer dereference.
- SSL_MODE_RELEASE_BUFFERS session injection or denial of service (CVE-2010-5298), allows remote attackers to inject data across sessions or cause a denial of service.
- Anonymous ECDH denial of service (CVE-2014-3470), OpenSSL TLS clients enabling anonymous ECDH (Elliptic Curve Diffie Hellman) ciphersuites are subject to a denial of service attack.
But the good news is that these vulnerabilities are not as critical as Heartbleed bug. The patched versions 0.9.8za, 1.0.0m and 1.0.1h are available on the project website to download and The OpenSSL Foundation is urging companies to update their implementation as soon as possible.