CURL-CVE-2014-8151

    Dashboard / Vulnerabilities / CURL-CVE-2014-8151

    CURL-CVE-2014-8151

    Published: 8 Jan 2015Last Modified: 24 Oct 2026
    Aliases:

    Summary: Secure Transport certificate check bypass

    Details: libcurl stores TLS Session IDs in its associated Session ID cache when it connects to TLS servers. In subsequent connects it reuses the entry in the cache to resume the TLS connection faster than when doing a full TLS handshake. The actual implementation for the Session ID caching varies depending on the underlying TLS backend. libcurl allows applications to switch off certificate verification in two different ways - using `CURLOPT_SSL_VERIFYHOST` and `CURLOPT_SSL_VERIFYPEER`. When an application connected to a TLS server with certificate verification disabled, it would store the Session ID in the cache and if then a subsequent connection was made against the same host and port number, it would reuse the former session and thanks to the reused session from the cache, it would skip the certificate check and wrongly accept any bad certificate that could be presented. The problem was that the "key" used for caching Session IDs did not take the certificate check status into account. This problem is specific to libcurl built to use the Secure Transport backend for TLS, so it can only affect Mac and iPhone based applications.

    References:

    Affected packages

    Package

    Name:

    Purl:

    Affected ranges

    Type: SEMVER

    Events:

    Introduced- 7.31.0
    Fixed -7.40.0

    Affected versions

    7.39.0

    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