A fix included in the OpenSSL updates released last week introduced a critical vulnerability that could potentially lead to arbitrary code execution, the OpenSSL Project warned on Monday.
OpenSSL versions 1.1.0a, 1.0.2i and 1.0.1u were released on September 22 to address more than a dozen security holes. One of the issues affecting OpenSSL 1.1.0 is a low severity denial-of-service (DoS) bug related to excessive allocation of memory in the tls_get_message_header() function.
The flaw, reported by Shi Lei of Qihoo 360 and identified as CVE-2016-6307, is considered “low severity” because it can only be exploited if certain conditions are met.
The OpenSSL Project rolled out a fix in version 1.1.0a, but Google Security Engineer Robert Swiecki soon discovered that the patch created a critical use-after-free vulnerability related to large message sizes.
“The patch applied to address CVE-2016-6307 resulted in an issue where if a message larger than approx 16k is received then the underlying buffer to store the incoming message is reallocated and moved. Unfortunately a dangling pointer to the old location is left which results in an attempt to write to the previously freed location,” the OpenSSL Project wrote in its advisory.
The critical flaw (CVE-2016-6309) can result in a crash, but it could also lead to arbitrary code execution. The problem has been addressed with the release of OpenSSL 1.1.0b.
OpenSSL developers also announced on Monday the release of version 1.0.2j, which patches a missing CRL sanity check issue affecting only version 1.0.2i (CVE-2016-7052).
The OpenSSL Project hopes that by quickly releasing a patch for the critical vulnerability, users will update their installations directly to the newest versions instead of the ones made available last week.
The most serious weakness fixed last week is CVE-2016-6304, which can be exploited for DoS attacks by sending an excessively large OCSP Status Request extension to the targeted server. Another interesting issue fixed last week, albeit a low severity one, is Sweet32, a recently disclosed attack method that can be leveraged to recover potentially sensitive data from a large volume of encrypted traffic.
Related Reading: Encrypted Network Traffic Comes at a Cost