CVE-2014-8151
The darwinssl_connect_step1 function in lib/vtls/curl_darwinssl.c in libcurl 7.31.0 through 7.39...
The darwinssl_connect_step1 function in lib/vtls/curl_darwinssl.c in libcurl 7.31.0 through 7.39.0, when using the DarwinSSL (aka SecureTransport) back-end for TLS, does not check if a cached TLS session validated the certificate when reusing the session, which allows man-in-the-middle attackers to spoof servers via a crafted certificate.
Exploit likelihood
What each source reports
NVD Score used
5.8
The darwinssl_connect_step1 function in lib/vtls/curl_darwinssl.c in libcurl 7.31.0 through 7.39.0, when using the DarwinSSL (aka SecureTransport) back-end for TLS, does not check if a cached TLS session validated the certificate when reusing the session, which allows man-in-the-middle attackers to spoof servers via a crafted certificate.
- Record
CVE-2014-8151- CVSS 2.0
- 5.8 Medium
AV:N/AC:M/Au:N/C:P/I:P/A:N - Updated
- 2026-11-02
CVE List No score
The darwinssl_connect_step1 function in lib/vtls/curl_darwinssl.c in libcurl 7.31.0 through 7.39.0, when using the DarwinSSL (aka SecureTransport) back-end for TLS, does not check if a cached TLS session validated the certificate when reusing the session, which allows man-in-the-middle attackers to spoof servers via a crafted certificate.
- Record
CVE-2014-8151- Updated
- 2026-11-02
EUVDEUVD-2014-7993 No score
The darwinssl_connect_step1 function in lib/vtls/curl_darwinssl.c in libcurl 7.31.0 through 7.39.0, when using the DarwinSSL (aka SecureTransport) back-end for TLS, does not check if a cached TLS session validated the certificate when reusing the session, which allows man-in-the-middle attackers to spoof servers via a crafted certificate.
- Record
EUVD-2014-7993- Updated
- 2026-11-03
GitHub AdvisoriesGHSA-h2qh-xwfj-36gc No score
The darwinssl_connect_step1 function in lib/vtls/curl_darwinssl.c in libcurl 7.31.0 through 7.39...
The darwinssl_connect_step1 function in lib/vtls/curl_darwinssl.c in libcurl 7.31.0 through 7.39.0, when using the DarwinSSL (aka SecureTransport) back-end for TLS, does not check if a cached TLS session validated the certificate when reusing the session, which allows man-in-the-middle attackers to spoof servers via a crafted certificate.
- Record
GHSA-h2qh-xwfj-36gc- Updated
- 2026-11-02
OSVCURL-CVE-2014-8151 No score
Secure Transport certificate check bypass
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.
- Record
CURL-CVE-2014-8151- Updated
- 2026-11-02
Affected products
History
| Recorded | Changed | Sources |
|---|---|---|
| aliases | EUVD | |
| first indexed | CVE List, GitHub Advisories, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2014-8151 is a medium vulnerability (CVSS 5.8) in Haxx Libcurl, published January 8, 2015. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 1.15%, the 67th percentile. No source names a fixed version.
References
lists.apple.com/archives/security-announce/2015/Aug/msg00001.html
curl.haxx.se/docs/adv_20150108A.html
kb.juniper.net/InfoCenter/index?page=content&id=JSA10743
support.apple.com/kb/HT205031
security.gentoo.org/glsa/201701-47
secunia.com/advisories/61925
nvd.nist.gov/vuln/detail/CVE-2014-8151
github.com/advisories/GHSA-h2qh-xwfj-36gc