Search vulnerabilities

Results 171

Export CSV
CVE-2025-15079

libssh global known_hosts override

When doing SSH-based transfers using either SCP or SFTP, and setting the known_hosts file, libcurl could still mistakenly accept connecting to hosts *not present* in the specified file if they were added as recognized in the libssh *global* known_hosts file.

CVSS 3.1 · 5.3 Medium EPSS < 1% KEV · Not listed
Vendors
Products
CVE-2025-15224

libssh key passphrase bypass without agent set

When doing SSH-based transfers using either SCP or SFTP, and asked to do public key authentication, curl would wrongly still ask and authenticate using a locally running SSH agent.

CVSS 3.1 · 3.1 Low EPSS < 1% KEV · Not listed
Vendors
Products
CVE-2023-38039

curl: out of heap memory issue due to missing limit on header quantity

When curl retrieves an HTTP response, it stores the incoming headers so that they can be accessed later via the libcurl headers API. However, curl did not have a limit in how many or how large headers it would accept in a response, allowing a malicious server to stream an endless series of headers and eventually cause curl to run out of heap memory.

CVSS 3.1 · 7.5 High EPSS 56.2% KEV · Not listed
Vendors
Products
CVE-2024-9681

HSTS subdomain overwrites parent cache entry

When curl is asked to use HSTS, the expiry time for a subdomain might overwrite a parent domain's cache entry, making it end sooner or later than otherwise intended. This affects curl using applications that enable HSTS and use URLs with the insecure `HTTP://` scheme and perform transfers with hosts like `x.example.com` as well as `example.com` where the first host is a subdomain of the second host. (The HSTS cache either needs to have been populated manually or there needs to have been previous HTTPS accesses done as the cache needs to have entries for the domains involved to trigger this problem.) When `x.example.com` responds with `Strict-Transport-Security:` headers, this bug can make the subdomain's expiry timeout *bleed over* and get set for the parent domain `example.com` in curl's HSTS cache. The result of a triggered bug is that HTTP accesses to `example.com` get converted to HTTPS for a different period of time than what was asked for by the origin server. If `example.com` for example stops supporting HTTPS at its expiry time, curl might then fail to access `http://example.com` until the (wrongly set) timeout expires. This bug can also expire the parent's entry *earlier*, thus making curl inadvertently switch back to insecure HTTP earlier than otherwise intended.

CVSS 3.1 · 5.9 Medium EPSS 2.0% KEV · Not listed
Vendors
Products
CVE-2025-5025

No QUIC certificate pinning with wolfSSL

libcurl supports *pinning* of the server certificate public key for HTTPS transfers. Due to an omission, this check is not performed when connecting with QUIC for HTTP/3, when the TLS backend is wolfSSL. Documentation says the option works with wolfSSL, failing to specify that it does not for QUIC and HTTP/3. Since pinning makes the transfer succeed if the pin is fine, users could unwittingly connect to an impostor server without noticing.

CVSS 3.1 · 4.8 Medium EPSS < 1% KEV · Not listed
Vendors
Products
CVE-2025-5399

WebSocket endless loop

Due to a mistake in libcurl's WebSocket code, a malicious server can send a particularly crafted packet which makes libcurl get trapped in an endless busy-loop. There is no other way for the application to escape or exit this loop other than killing the thread/process. This might be used to DoS libcurl-using application.

CVSS 3.1 · 7.5 High EPSS 1.4% KEV · Not listed
Vendors
Products
CVE-2025-4947

QUIC certificate check skip with wolfSSL

libcurl accidentally skips the certificate verification for QUIC connections when connecting to a host specified as an IP address in the URL. Therefore, it does not detect impostors or man-in-the-middle attacks.

CVSS 3.1 · 6.5 Medium EPSS < 1% KEV · Not listed
Vendors
Products
CVE-2024-0853

OCSP verification bypass with TLS session reuse

curl inadvertently kept the SSL session ID for connections in its cache even when the verify status (*OCSP stapling*) test failed. A subsequent transfer to the same hostname could then succeed if the session ID cache was still fresh, which then skipped the verify status check.

CVSS 3.1 · 5.3 Medium EPSS 1.1% KEV · Not listed
Vendors
Products
CVE-2017-8818

curl: Out-of-bound access in SSL related cleanup code

curl and libcurl before 7.57.0 on 32-bit platforms allow attackers to cause a denial of service (out-of-bounds access and application crash) or possibly have unspecified other impact because too little memory is allocated for interfacing to an SSL library.

CVSS 3.0 · 9.8 Critical EPSS 3.4% KEV · Not listed
Vendors
Products
CVE-2017-9502

curl: URL file scheme drive letter buffer overflow

In curl before 7.54.1 on Windows and DOS, libcurl's default protocol function, which is the logic that allows an application to set which protocol libcurl should attempt to use when given a URL without a scheme part, had a flaw that could lead to it overwriting a heap based memory buffer with seven bytes. If the default protocol is specified to be FILE or a file: URL lacks two slashes, the given "URL" starts with a drive letter, and libcurl is built for Windows or DOS, then libcurl would copy the path 7 bytes off, so that the end of the given path would write beyond the malloc buffer (7 bytes being the length in bytes of the ascii string "file://").

CVSS 3.0 · 5.3 Medium EPSS 3.3% KEV · Not listed
Vendors
Products
CVE-2014-3613

curl: incorrect handling of IP addresses in cookie domain

cURL and libcurl before 7.38.0 does not properly handle IP addresses in cookie domain names, which allows remote attackers to set cookies for or send arbitrary cookies to certain sites, as demonstrated by a site at 192.168.0.1 setting cookies for a site at 127.168.0.1.

CVSS 2.0 · 5.0 Medium EPSS 7.1% KEV · Not listed
Vendors
Products
Mac Os X Curl Libcurl and 1 more
CVE-2016-4802

Multiple untrusted search path vulnerabilities in cURL and libcurl before 7.49.1, when built with SSPI or telnet is enabled, allow local users to execute arbitrary code and conduct DLL hijacking attacks via a Trojan horse (1) security.dll, (2) secur32.dll, or (3) ws2_32.dll in the application or current working directory.

CVSS 3.0 · 7.8 High EPSS < 1% KEV · Not listed
Vendors
Products
CVE-2016-3739

curl: TLS certificate name check bypass with mbedTLS and PolarSSL

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.

CVSS 3.0 · 5.3 Medium EPSS 6.9% KEV · Not listed
Vendors
Products
CVE-2016-0755

curl: NTLM credentials not-checked for proxy connection re-use

The ConnectionExists function in lib/url.c in libcurl before 7.47.0 does not properly re-use NTLM-authenticated proxy connections, which might allow remote attackers to authenticate as other users via a request, a similar issue to CVE-2014-0015.

CVSS 3.0 · 7.3 High EPSS 9.1% KEV · Not listed
CVE-2016-0754

cURL before 7.47.0 on Windows allows attackers to write to arbitrary files in the current working directory on a different drive via a colon in a remote file name.

CVSS 3.0 · 5.3 Medium EPSS 1.2% KEV · Not listed
Vendors
Products
CVE-2015-3237

curl: SMB send off unrelated memory contents

The smb_request_state function in cURL and libcurl 7.40.0 through 7.42.1 allows remote SMB servers to obtain sensitive information from memory or cause a denial of service (out-of-bounds read and crash) via crafted length and offset values.

CVSS 2.0 · 6.4 Medium EPSS 8.3% KEV · Not listed
Vendors
CVE-2015-3236

curl: lingering HTTP credentials in connection re-use

cURL and libcurl 7.40.0 through 7.42.1 send the HTTP Basic authentication credentials for a previous connection when reusing a reset (curl_easy_reset) connection handle to send a request to the same host name, which allows remote attackers to obtain sensitive information via unspecified vectors.

CVSS 2.0 · 5.0 Medium EPSS 7.2% KEV · Not listed
Vendors
Products
CVE-2015-3153

curl: sensitive HTTP server headers also sent to proxies

The default configuration for cURL and libcurl before 7.42.1 sends custom HTTP headers to both the proxy and destination server, which might allow remote proxy servers to obtain sensitive information by reading the header contents.

CVSS 2.0 · 5.0 Medium EPSS 7.3% KEV · Not listed
Vendors
Apple Canonical Debian and 2 more
Products
CVE-2015-3148

curl: Negotiate not treated as connection-oriented

cURL and libcurl 7.10.6 through 7.41.0 do not properly re-use authenticated Negotiate connections, which allows remote attackers to connect as other users via a request.

CVSS 2.0 · 5.0 Medium EPSS 14.1% KEV · Not listed
Vendors
Apple Canonical Debian and 5 more
Products
CVE-2015-3145

curl: cookie parser out of boundary memory access

The sanitize_cookie_path function in cURL and libcurl 7.31.0 through 7.41.0 does not properly calculate an index, which allows remote attackers to cause a denial of service (out-of-bounds write and crash) or possibly have other unspecified impact via a cookie path containing only a double-quote character.

CVSS 2.0 · 7.5 High EPSS 30.5% KEV · Not listed
Vendors
Apple Canonical Debian and 5 more
Products