First published: Thu Dec 07 2017(Updated: )
OpenSSL 1.0.2 (starting from version 1.0.2b) introduced an "error state" mechanism. The intent was that if a fatal error occurred during a handshake then OpenSSL would move into the error state and would immediately fail if you attempted to continue the handshake. This works as designed for the explicit handshake functions (SSL_do_handshake(), SSL_accept() and SSL_connect()), however due to a bug it does not work correctly if SSL_read() or SSL_write() is called directly. In that scenario, if the handshake fails then a fatal error will be returned in the initial function call. If SSL_read()/SSL_write() is subsequently called by the application for the same SSL object then it will succeed and the data is passed without being decrypted/encrypted directly from the SSL/TLS record layer. In order to exploit this issue an application bug would have to be present that resulted in a call to SSL_read()/SSL_write() being issued after having already received a fatal error. External References: <a href="https://www.openssl.org/news/secadv/20171207.txt">https://www.openssl.org/news/secadv/20171207.txt</a>
Credit: openssl-security@openssl.org
Affected Software | Affected Version | How to fix |
---|---|---|
debian/openssl | 1.1.1n-0+deb10u3 1.1.1n-0+deb10u6 1.1.1w-0+deb11u1 1.1.1n-0+deb11u5 3.0.11-1~deb12u1 3.0.11-1 | |
OpenSSL OpenSSL | =1.0.2b | |
OpenSSL OpenSSL | =1.0.2c | |
OpenSSL OpenSSL | =1.0.2d | |
OpenSSL OpenSSL | =1.0.2e | |
OpenSSL OpenSSL | =1.0.2f | |
OpenSSL OpenSSL | =1.0.2g | |
OpenSSL OpenSSL | =1.0.2h | |
OpenSSL OpenSSL | =1.0.2i | |
OpenSSL OpenSSL | =1.0.2j | |
OpenSSL OpenSSL | =1.0.2k | |
OpenSSL OpenSSL | =1.0.2l | |
OpenSSL OpenSSL | =1.0.2m | |
Debian Debian Linux | =9.0 | |
redhat/openssl | <1.0.2 | 1.0.2 |
<=10.0 |
Sign up to SecAlerts for real-time vulnerability data matched to your software, aggregated from hundreds of sources.
CVE-2017-3737 is a vulnerability in OpenSSL that allows a remote attacker to bypass security restrictions.
OpenSSL 1.0.2b and later versions including 1.0.2, 1.1.1n-0+deb10u3, 1.1.1n-0+deb10u6, 1.1.1w-0+deb11u1, 1.1.1n-0+deb11u5, 3.0.11-1~deb12u1, and 3.0.11-1 are affected.
CVE-2017-3737 has a severity rating of 5.9 (medium).
The CWE ID of CVE-2017-3737 is CWE-125 and CWE-787.
You can find more information about CVE-2017-3737 at the following references: [Link 1](https://www.openssl.org/news/secadv/20171207.txt), [Link 2](https://bugzilla.redhat.com/show_bug.cgi/show_bug.cgi?id=1523513), [Link 3](https://bugzilla.redhat.com/show_bug.cgi/show_bug.cgi?id=1523511).