CVE-2017-3737

Source
https://cve.org/CVERecord?id=CVE-2017-3737
Import Source
https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2017-3737.json
JSON Data
https://api.test.osv.dev/v1/vulns/CVE-2017-3737
Downstream
Related
Published
2017-12-07T16:29:00Z
Modified
2026-05-18T05:49:34Z
Severity
  • 5.9 (Medium) CVSS_V3 - CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N CVSS Calculator
Summary
[none]
Details

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.

Database specific
{
    "unresolved_ranges":  [
        {
            "cpes":  [
                "cpe:2.3:o:debian:debian_linux:9.0:*:*:*:*:*:*:*"
            ],
            "extracted_events":  [
                {
                    "last_affected":  "9.0"
                }
            ],
            "source":  "CPE_FIELD",
            "vendor_product":  "debian:debian_linux"
        }
    ]
}
References

Affected packages

Git / github.com/openssl/openssl

Affected ranges

Type
GIT
Repo
https://github.com/openssl/openssl
Events
Introduced
0 Unknown introduced commit / All previous commits are affected
Last Affected
Database specific
Show details
{
    "cpe":  [
        "cpe:2.3:a:openssl:openssl:1.0.2b:*:*:*:*:*:*:*",
        "cpe:2.3:a:openssl:openssl:1.0.2c:*:*:*:*:*:*:*",
        "cpe:2.3:a:openssl:openssl:1.0.2d:*:*:*:*:*:*:*",
        "cpe:2.3:a:openssl:openssl:1.0.2e:*:*:*:*:*:*:*",
        "cpe:2.3:a:openssl:openssl:1.0.2f:*:*:*:*:*:*:*",
        "cpe:2.3:a:openssl:openssl:1.0.2g:*:*:*:*:*:*:*",
        "cpe:2.3:a:openssl:openssl:1.0.2h:*:*:*:*:*:*:*",
        "cpe:2.3:a:openssl:openssl:1.0.2i:*:*:*:*:*:*:*",
        "cpe:2.3:a:openssl:openssl:1.0.2j:*:*:*:*:*:*:*",
        "cpe:2.3:a:openssl:openssl:1.0.2k:*:*:*:*:*:*:*",
        "cpe:2.3:a:openssl:openssl:1.0.2l:*:*:*:*:*:*:*",
        "cpe:2.3:a:openssl:openssl:1.0.2m:*:*:*:*:*:*:*"
    ],
    "extracted_events":  [
        {
            "introduced":  "0"
        },
        {
            "last_affected":  "1.0.2b"
        },
        {
            "last_affected":  "1.0.2c"
        },
        {
            "last_affected":  "1.0.2d"
        },
        {
            "last_affected":  "1.0.2e"
        },
        {
            "last_affected":  "1.0.2f"
        },
        {
            "last_affected":  "1.0.2g"
        },
        {
            "last_affected":  "1.0.2h"
        },
        {
            "last_affected":  "1.0.2i"
        },
        {
            "last_affected":  "1.0.2j"
        },
        {
            "last_affected":  "1.0.2k"
        },
        {
            "last_affected":  "1.0.2l"
        },
        {
            "last_affected":  "1.0.2m"
        }
    ],
    "source":  "CPE_FIELD"
}

Affected versions

Other
OpenSSL_1_0_2
OpenSSL_1_0_2-beta1
OpenSSL_1_0_2-beta2
OpenSSL_1_0_2-beta3
OpenSSL_1_0_2-post-auto-reformat
OpenSSL_1_0_2-post-reformat
OpenSSL_1_0_2-pre-auto-reformat
OpenSSL_1_0_2-pre-reformat
OpenSSL_1_0_2a
OpenSSL_1_0_2b
OpenSSL_1_0_2c
OpenSSL_1_0_2d
OpenSSL_1_0_2e
OpenSSL_1_0_2f
OpenSSL_1_0_2g
OpenSSL_1_0_2h
OpenSSL_1_0_2i
OpenSSL_1_0_2j
OpenSSL_1_0_2k
OpenSSL_1_0_2l
OpenSSL_1_0_2m
OpenSSL_1_0_2n
OpenSSL_1_0_2o
OpenSSL_1_0_2p
OpenSSL_1_0_2q
OpenSSL_1_0_2r
OpenSSL_1_0_2s
OpenSSL_1_0_2t
OpenSSL_1_0_2u

Database specific

source
"https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2017-3737.json"