CVE-2017-3737
Summary
| CVE | CVE-2017-3737 |
|---|---|
| State | PUBLIC |
| Assigner | [email protected] |
| Source Priority | CVE Program / NVD first with legacy fallback |
| Published | 2017-12-07 16:29:00 UTC |
| Updated | 2019-10-03 00:03:00 UTC |
| Description | 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. OpenSSL version 1.0.2b-1.0.2m are affected. Fixed in OpenSSL 1.0.2n. OpenSSL 1.1.0 is not affected. |
Risk And Classification
Problem Types: CWE-125 | CWE-787
NVD Known Affected Configurations (CPE 2.3)
| Type | Vendor | Product | Version | Update | Edition | Language |
|---|---|---|---|---|---|---|
| Operating System | Debian | Debian Linux | 9.0 | All | All | All |
| Operating System | Debian | Debian Linux | 9.0 | All | All | All |
| Application | Openssl | Openssl | 1.0.2b | All | All | All |
| Application | Openssl | Openssl | 1.0.2c | All | All | All |
| Application | Openssl | Openssl | 1.0.2d | All | All | All |
| Application | Openssl | Openssl | 1.0.2e | All | All | All |
| Application | Openssl | Openssl | 1.0.2f | All | All | All |
| Application | Openssl | Openssl | 1.0.2g | All | All | All |
| Application | Openssl | Openssl | 1.0.2h | All | All | All |
| Application | Openssl | Openssl | 1.0.2i | All | All | All |
| Application | Openssl | Openssl | 1.0.2j | All | All | All |
| Application | Openssl | Openssl | 1.0.2k | All | All | All |
| Application | Openssl | Openssl | 1.0.2l | All | All | All |
| Application | Openssl | Openssl | 1.0.2m | All | All | All |
| Application | Openssl | Openssl | 1.0.2b | All | All | All |
| Application | Openssl | Openssl | 1.0.2c | All | All | All |
| Application | Openssl | Openssl | 1.0.2d | All | All | All |
| Application | Openssl | Openssl | 1.0.2e | All | All | All |
| Application | Openssl | Openssl | 1.0.2f | All | All | All |
| Application | Openssl | Openssl | 1.0.2g | All | All | All |
| Application | Openssl | Openssl | 1.0.2h | All | All | All |
| Application | Openssl | Openssl | 1.0.2i | All | All | All |
| Application | Openssl | Openssl | 1.0.2j | All | All | All |
| Application | Openssl | Openssl | 1.0.2k | All | All | All |
| Application | Openssl | Openssl | 1.0.2l | All | All | All |
| Application | Openssl | Openssl | 1.0.2m | All | All | All |
References
| Reference | Source | Link | Tags |
|---|---|---|---|
| CVE-2017-3737: OpenSSL Security Bypass Vulnerability - DigitalMunition | MISC | www.digitalmunition.me | Third Party Advisory |
| OpenSSL: Multiple vulnerabilities (GLSA 201712-03) — Gentoo security | GENTOO | security.gentoo.org | Third Party Advisory |
| Debian -- Security Information -- DSA-4065-1 openssl1.0 | DEBIAN | www.debian.org | Third Party Advisory |
| Oracle Critical Patch Update - January 2018 | CONFIRM | www.oracle.com | |
| CPU July 2018 | CONFIRM | www.oracle.com | |
| Oracle Critical Patch Update - April 2018 | CONFIRM | www.oracle.com | |
| FreeBSD-SA-17:12 | FREEBSD | security.FreeBSD.org | Third Party Advisory |
| cert-portal.siemens.com/productcert/pdf/ssa-179516.pdf | CONFIRM | cert-portal.siemens.com | |
| Red Hat Customer Portal | REDHAT | access.redhat.com | |
| January 2018 MySQL vulnerabilities in NetApp Products | NetApp Product Security | CONFIRM | security.netapp.com | |
| December 2017 OpenSSL Vulnerabilities in NetApp Products | NetApp Product Security | CONFIRM | security.netapp.com | Third Party Advisory |
| Oracle Critical Patch Update - July 2019 | MISC | www.oracle.com | |
| [R2] SecurityCenter 5.6.1 Fixes Multiple Third-party Vulnerabilities - Security Advisory | Tenable® | CONFIRM | www.tenable.com | |
| Red Hat Customer Portal | REDHAT | access.redhat.com | |
| OpenSSL CVE-2017-3737 Security Bypass Vulnerability | BID | www.securityfocus.com | Third Party Advisory, VDB Entry |
| Red Hat Customer Portal | REDHAT | access.redhat.com | |
| April 2018 MySQL Vulnerabilities in NetApp Products | NetApp Product Security | CONFIRM | security.netapp.com | |
| Red Hat Customer Portal | REDHAT | access.redhat.com | |
| OpenSSL Overflow in rsaz_1024_mul_avx2() Lets Remote Users Obtain Potentially Sensitive Information in Certain Cases and SSL_read()/SSL_write() Error State Bug May Bypass Decryption/Encryption in Certain Application Dependent Cases - SecurityTracker | SECTRACK | www.securitytracker.com | Third Party Advisory, VDB Entry |
| www.openssl.org/news/secadv/20171207.txt | CONFIRM | www.openssl.org | Vendor Advisory |
| Don't allow read/write after fatal error · openssl/openssl@898fb88 · GitHub | CONFIRM | github.com | |
| CVE Program record | CVE.ORG | www.cve.org | canonical |
| NVD vulnerability detail | NVD | nvd.nist.gov | canonical, analysis |
No vendor comments have been submitted for this CVE.
Legacy QID Mappings
- 591115 ABB Relion 670 series and Relion 650 series Open Secure Sockets Layer (OpenSSL) Multiple Vulnerabilities (ABBVU-PGGA-1MRG032388)
- 591201 Siemens WinCC (TIA Portal), IPC Diagbase and Simatic Step 7 (TIA Portal) Open Secure Sockets Layer (OpenSSL) Multiple Vulnerabilities (SSA-179516)
- 591261 Siemens MindConnect, S7-1200/1500 CPU family, ET 200SP Open Controller Open Secure Sockets Layer (OpenSSL) Multiple Vulnerabilities (ICSA-18-226-02, SSA-179516)
- 670784 EulerOS Security Update for shim (EulerOS-SA-2021-2542)
- 670808 EulerOS Security Update for shim (EulerOS-SA-2021-2566)
- 710507 Gentoo Linux Open Secure Sockets Layer (OpenSSL) Multiple Vulnerabilities (GLSA 201712-03)