UBUNTU-CVE-2017-3737

    Dashboard / Vulnerabilities / UBUNTU-CVE-2017-3737

    UBUNTU-CVE-2017-3737

    Published: 7 Dec 2017Last Modified: 22 Apr 2026
    Upstream:
    Aliases:

    Summary:

    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.

    Affected packages

    Package

    Name: openssl

    Purl: pkg:deb/ubuntu/[email protected]?arch=source&distro=xenial

    Affected ranges

    Type: ECOSYSTEM

    Events:

    Introduced- 0
    Fixed -1.0.2g-1ubuntu4.10

    Affected versions

    1.0.2d-0ubuntu1
    1.0.2d-0ubuntu2
    1.0.2e-1ubuntu1
    1.0.2f-2ubuntu1
    1.0.2g-1ubuntu2
    1.0.2g-1ubuntu3
    1.0.2g-1ubuntu4
    1.0.2g-1ubuntu4.1
    1.0.2g-1ubuntu4.2
    1.0.2g-1ubuntu4.4
    1.0.2g-1ubuntu4.5
    1.0.2g-1ubuntu4.6
    1.0.2g-1ubuntu4.8
    1.0.2g-1ubuntu4.9

    Common Vulnerability Scoring System

    Attack Vector
    Network
    Adjacent
    Local
    Physical
    Privileges Required
    None
    Low
    High
    User Interaction
    None
    Required
    Scope
    Unchanged
    Changed
    Confidentiality
    None
    Low
    High
    Integrity
    None
    Low
    High
    Availability
    None
    Low
    High