If there is any good news from the discovery of the Heartbleed bug that affects OpenSSL, it’s this: security Relevant Products/Services analysts are keeping a closer watch on OpenSSL. And their efforts have paid off. The open-source OpenSSL Project today released a security update that fixes seven vulnerabilities, including two that have been rated critical by the SANS Internet Storm Center.

The first critical flaw is the SSL/TLS MiTM flaw (CVE-2014-0224). “An attacker using a carefully crafted handshake can force the use of weak keying material in OpenSSL SSL/TLS clients and servers,” according to the OpenSSL team's update. “This can be exploited by a man-in-the-middle (MiTM) attack Relevant Products/Services where the attacker can decrypt and modify traffic from the attacked client and server.”

Around for 16 Years

The flaw was discovered by researcher Masashi Kikuchi of Lepidum Co. Ltd., who noted in a blog post that it had been around for over 16 years -- since the very first release of OpenSSL.

“The biggest reason why the bug hasn’t been found for over 16 years is that code reviews were insufficient, especially from experts who had experiences with TLS/SSL implementation,” he said in the post. “If the reviewers had enough experiences, they should have verified OpenSSL code in the same way they do their own code. They could have detected the problem.”

The OpenSSL team said the MiTM attack can only be performed if both the client and the server are vulnerable. OpenSSL clients are vulnerable in all versions of OpenSSL, while servers are only known to be vulnerable in OpenSSL 1.0.1 and 1.0.2-beta1. Users of OpenSSL servers earlier than 1.0.1 should upgrade as a precaution.

Critical Flaw #2

The other OpenSSL vulnerability rated as critical by the SANS Internet Storm Center (ISC) is for the flaw identified as CVE-2014-0195. It is a Datagram Transport Layer Security (DTLS) invalid fragment vulnerability that was first reported to the OpenSSL Project on April 23.

“A buffer overrun attack can be triggered by sending invalid DTLS fragments to an OpenSSL DTLS client or server,” according to the OpenSSL advisory. “This is potentially exploitable to run arbitrary code on a vulnerable client or server. Only applications using OpenSSL as a DTLS client or server affected.”

Another DTLS Flaw and More

DTLS can wreak even more havoc because it’s behind the CVE-2014-0221 vulnerability, which is a DTLS handshake recursion flaw -- rated important by SANS ISC. “By sending an invalid DTLS handshake to an OpenSSL DTLS client, the code can be made to recurse, eventually crashing in a DoS (deinal-of-service) attack,” according to the OpenSSL update. “Only applications using OpenSSL as a DTLS client are affected.”

Another vulnerability rated important by SANS ISC is SSL_MODE_RELEASE_BUFFERS NULL pointer dereference (CVE-2014-0198). “A flaw in the do_ssl3_write function can allow remote attackers to cause a denial of service via a NULL pointer dereference,” the advisory noted. “This flaw only affects OpenSSL 1.0.0 and 1.0.1 where SSL_MODE_RELEASE_BUFFERS is enabled, which is not the default and not common.”

The SSL_MODE_RELEASE_BUFFERS session injection or denial of service flaw (CVE-2010-5298) is a race condition in the ssl3_read_bytes function that can allow remote attackers to inject data Relevant Products/Services across sessions or cause a denial of service. “This flaw only affects multithreaded applications using OpenSSL 1.0.0 and 1.0.1, where SSL_MODE_RELEASE_BUFFERS is enabled, which is not the default and not common,” according to the OpenSSL team.

The OpenSSL Project is also providing patches for the CVE-2014-3470 vulnerability, which is an Anonymous Elliptic Curve Diffie Hellman (ECDH) DoS problem, and the CVE-2014-0076 flaw.

To mitigate the risks of these vulnerabilities, IT managers should ensure they patch their Linux systems as soon as possible.