CVE-2016-3739

lowpriority · track · 23EPSS 0.069 · 94 %ileEUUS
grimoire priorityP3 · Track
Exploitable?
—
no known exploitation
Likely / severe?
6.93% (94th) EPSS
CVSS 2.6 · low
Is it mine?
38 products
Check your exposure
Who says so?
4 sources
cnnvd · enisa_euvd · nvd · osv

EPSS · scored 2026-10-27

The (1) mbed_connect_step1 function in lib/vtls/mbedtls.c and (2) polarssl_connect_step1 function in lib/vtls/polarssl.c in cURL and libcurl before 7.49.0, when using SSLv3 or making a TLS connection to a URL that uses a numerical IP address, allow remote attackers to spoof servers via an arbitrary valid certificate.

01

cvss

Technical severity, 0–10. One row per scoring source.

5.3
010

base score 0–10 · higher = more severe · hover a vector to decode⚠ sources disagree · low–medium · 2.6–5.3

v2.02.6lowAV:N/AC:H/Au:N/C:N/I:P/A:Nprimary · NVD / NIST USexploitability 4.9 · impact 2.9
v3.05.3mediumCVSS:3.0/AV:N/AC:H/PR:N/UI:R/S:U/C:N/I:H/A:Nprimary · NVD / NIST USexploitability 1.6 · impact 3.6
v3.04.9mediumCVSS:3.0/AV:N/AC:H/PR:N/UI:R/S:U/C:N/I:H/A:N/E:Usecondary · CVSS-BT (t0sche)
02

weaknesses

The CWE weakness classes this flaw belongs to.

03

affected products (38)

Products and version ranges known to be affected.

showing 20 of 38
04

advisories (1)

Vendor and ecosystem advisories describing this.

  • CURL-CVE-2016-3739TLS certificate check bypass with mbedTLS/PolarSSL2016-05-18vendor · osvUS

    libcurl did not check the server certificate of TLS connections done to a host specified as an IP address, or when explicitly asked to use SSLv3. This flaw only exists when libcurl is built to use mbedTLS or PolarSSL as the TLS backend. The documentation for mbedTLS and PolarSSL (wrongly) says that the API function `ssl_set_hostname()` is used only for setting the name for the TLS extension SNI. The set string is however even more importantly used by the libraries to verify the server certificate, and if no "hostname" is set it skips the check and successfully continue with the handshake. libcurl would wrongly avoid using the function when the specified hostname was given as an IP address or when SSLv3 is used, as SNI is not supposed to be used then. This then leads to that all uses of TLS oriented protocols (HTTPS, FTPS, IMAPS, POPS3, SMTPS, etc) allows connections to servers with unverified server certificates as long as they are specified as IP addresses or using SSLv3. By tricking a libcurl-using client to use a URL with a host specified as IP address only, an application could be made to connect to an impostor server or Man In The Middle host without noticing. Note: PolarSSL is the old name and releases of the library that nowadays is known and released under the name mbedTLS.

05

also known as (3)

Other names and identifiers for this entity.

06

sources

Which sources assert this record, and when.

published 2016-05-20modified 2026-06-17
08

references (26)

External citations — patches, advisories, analysis.

scry

Attackers weaponise vulnerabilities like this against internet-exposed services. See what is exposed on your perimeter with a free passive scan.

Free scan