Curl

53 CVEs across 3 Curl products. Browse Curl vulnerabilities, severities, and proof-of-concept exploits.

Curl products with known CVEs

ProductCVEs
Curl69
Libcurl4
Wcurl1
Curl CVEs — newest first
CVESeverityScorePublishedSummary
CVE-2026-9547High7.42026-07-03When a libcurl-based application performs transfers via `SCP://` or `SFTP://` and utilizes the `CURLOPT_SSH_KEYFUNCTION` callback, it may silently accept an un…
CVE-2026-9546High7.52026-07-03A vulnerability in libcurl caused the HTTP `Referer:` header to persist even when explicitly cleared. While the documentation states that passing NULL to `CURL…
CVE-2026-9545High7.52026-07-03In this scenario, libcurl first uses a proper HTTP/3 server for the initial transfers, and when it makes a second transfer to the same site it has been replace…
CVE-2026-9080High7.32026-07-03Calling `curl_easy_pause()` within the event-based `CURLMOPT_SOCKETFUNCTION` callback triggers a use-after-free vulnerability, where libcurl attempts to store…
CVE-2026-9079Critical9.82026-07-03libcurl had a flaw that when instructed to clear proxy authentication credentials which made it not do so, leaving the old credentials around to get used for s…
CVE-2026-8932High7.52026-07-03libcurl would reuse a previously created connection even when some mTLS config related option had been changed that should have prohibited reuse. libcurl keep…
CVE-2026-8927Critical9.12026-07-03When reusing a libcurl handle for sequential transfers driven by environment-variable proxy configuration, libcurl fails to clear the proxy authentication stat…
CVE-2026-8926Critical9.12026-07-03When asking curl to use a `.netrc` file to find credentials and at the same time specifying a URL with a username(without a password), like `https://user@examp…
CVE-2026-8925Critical9.82026-07-03The curl logic that works with SASL authentication could end up cleaning up the GSASL context *twice* without clearing the pointer in between, making it `free(…
CVE-2026-8924Critical9.12026-07-03A flaw in curl’s cookie parsing logic allows a malicious HTTP server to set 'super cookies' that bypass the Public Suffix List check. This enables an attacker-…
CVE-2026-8458Medium6.52026-07-03libcurl might in some circumstances reuse the wrong connection when asked to do Negotiate-authenticated ones, even when they are set to use different 'services…
CVE-2026-8286High8.12026-07-03A vulnerability exists where a new transfer that uses STARTTLS to upgrade the connection might reuse an existing live connection even though the TLS configurat…
CVE-2026-12064High7.52026-07-03When a user invokes curl using a schemeless URL combined with `--proto-default` sftp (or scp), a disconnect occurs between the tool layer and libcurl. The tool…
CVE-2026-11856Critical9.82026-07-03Successfully using libcurl to do a transfer to a specific HTTP origin (`hostA`) with **Digest** authentication and then changing the origin to a different one…
CVE-2026-11586High7.52026-07-03By default, curl automatically responds to WebSocket PING frames. Because curl lacks an upper bound on memory allocation for unacknowledged frames, a malicious…
CVE-2026-11564Critical9.12026-07-03libcurl keeps previously used connections in a connection pool for subsequent transfers to reuse if one of them matches the setup. An easy handle that first u…
CVE-2026-11352High7.52026-07-03An issue in curl’s QUIC UDP receive function allows a malicious HTTP/3 server to trigger a remote denial of service against a curl or libcurl client. Because t…
CVE-2026-10536Critical9.82026-07-03A use-after-free vulnerability exists in libcurl when an application configures an HTTP/2 stream-dependency tree via `CURLOPT_STREAM_DEPENDS` or `CURLOPT_STREA…
CVE-2026-7168Medium5.32026-05-13Successfully using libcurl to do a transfer over a specific HTTP proxy (`proxyA`) with **Digest** authentication and then changing the proxy host to a second o…
CVE-2026-7009Medium5.32026-05-13When curl is told to use the Certificate Status Request TLS extension, often referred to as *OCSP stapling*, to verify that the server certificate is valid, it…
CVE-2026-6429Medium5.32026-05-13When asked to both use a `.netrc` file for credentials and to follow HTTP redirects, libcurl could leak the password used for the first host to the followed-to…
CVE-2026-6276High7.52026-05-13Using libcurl, when a custom `Host:` header is first set for an HTTP request and a second request is subsequently done using the same *easy handle* but without…
CVE-2026-6253Medium5.92026-05-13curl might erroneously pass on credentials for a first proxy to a second proxy. This can happen when the following conditions are true: 1. curl is setup to u…
CVE-2026-5773High7.52026-05-13libcurl might in some circumstances reuse the wrong connection for SMB(S) transfers. libcurl features a pool of recent connections so that subsequent requests…
CVE-2026-5545Medium6.52026-05-13libcurl might in some circumstances reuse the wrong connection when asked to do an authenticated HTTP(S) request after a Negotiate-authenticated one, when both…
CVE-2026-4873Medium5.92026-05-13A vulnerability exists where a connection requiring TLS incorrectly reuses an existing unencrypted connection from the same connection pool. If an initial tran…
CVE-2026-3805High7.52026-03-11When doing a second SMB request to the same host again, curl would wrongly use a data pointer pointing into already freed memory.
CVE-2026-3784Medium6.52026-03-11curl would wrongly reuse an existing HTTP proxy connection doing CONNECT to a server, even if the new request uses different credentials for the HTTP proxy. Th…
CVE-2026-3783Medium5.32026-03-11When an OAuth2 bearer token is used for an HTTP(S) transfer, and that transfer performs a redirect to a second URL, curl could leak that token to the second ho…
CVE-2026-1965Medium6.52026-03-11libcurl can in some circumstances reuse the wrong connection when asked to do an Negotiate-authenticated HTTP or HTTPS request. libcurl features a pool of rec…
CVE-2025-11563Medium4.62026-02-25URLs containing percent-encoded slashes (`/` or `\`) can trick wcurl into saving the output file outside of the current directory without the user explicitly a…
CVE-2025-15224Low3.12026-01-08When 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 local…
CVE-2025-15079Medium5.32026-01-08When doing SSH-based transfers using either SCP or SFTP, and setting the known_hosts file, libcurl could still mistakenly accept connecting to hosts *not prese…
CVE-2025-14819Medium5.32026-01-08When doing TLS related transfers with reused easy or multi handles and altering the `CURLSSLOPT_NO_PARTIALCHAIN` option, libcurl could accidentally reuse a CA…
CVE-2025-14524Medium5.32026-01-08When an OAuth2 bearer token is used for an HTTP(S) transfer, and that transfer performs a cross-protocol redirect to a second URL that uses an IMAP, LDAP, POP3…
CVE-2025-14017Medium6.32026-01-08When doing multi-threaded LDAPS transfers (LDAP over TLS) with libcurl, changing TLS options in one thread would inadvertently change them globally and therefo…
CVE-2025-13034Medium5.92026-01-08When using `CURLOPT_PINNEDPUBLICKEY` option with libcurl or `--pinnedpubkey` with the curl tool,curl should check the public key of the server certificate to v…
CVE-2025-10966Medium4.32025-11-07curl's code for managing SSH connections when SFTP was done using the wolfSSH powered backend was flawed and missed host verification mechanisms. This prevent…
CVE-2025-9086High7.52025-09-121. A cookie is set using the `secure` keyword for `https://target` 2. curl is redirected to or otherwise made to speak with `http://target` (same hostnam…
CVE-2025-10148Medium5.32025-09-12curl's websocket code did not update the 32 bit mask pattern for each new outgoing frame as the specification says. Instead it used a fixed mask that persiste…
CVE-2025-5399High7.52025-06-07Due 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…
CVE-2025-5025Medium4.82025-05-28libcurl supports *pinning* of the server certificate public key for HTTPS transfers. Due to an omission, this check is not performed when connecting with QUIC…
CVE-2025-4947Medium6.52025-05-28libcurl accidentally skips the certificate verification for QUIC connections when connecting to a host specified as an IP address in the URL. Therefore, it doe…
CVE-2025-0725High7.32025-02-05When libcurl is asked to perform automatic gzip decompression of content-encoded HTTP responses with the `CURLOPT_ACCEPT_ENCODING` option, **using zlib 1.2.0.3…
CVE-2025-0665High7.02025-02-05libcurl would wrongly close the same eventfd file descriptor twice when taking down a connection channel after having completed a threaded name resolve.
CVE-2025-0167Low3.42025-02-05When asked to use a `.netrc` file for credentials **and** to follow HTTP redirects, curl could leak the password used for the first host to the followed-to hos…
CVE-2024-11053Low3.42024-12-11When asked to both use a `.netrc` file for credentials and to follow HTTP redirects, curl could leak the password used for the first host to the followed-to ho…
CVE-2024-9681Medium6.52024-11-06When 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 int…
CVE-2024-8096Medium6.52024-09-11When curl is told to use the Certificate Status Request TLS extension, often referred to as OCSP stapling, to verify that the server certificate is valid, it m…
CVE-2024-7264Medium6.52024-07-31libcurl's ASN1 parser code has the `GTime2str()` function, used for parsing an ASN.1 Generalized Time field. If given an syntactically incorrect field, the par…
CVE-2024-6874Medium4.32024-07-24libcurl's URL API function [curl_url_get()](https://curl.se/libcurl/c/curl_url_get.html) offers punycode conversions, to and from IDN. Asking to convert a name…
CVE-2024-6197High7.52024-07-24libcurl's ASN1 parser has this utf8asn1str() function used for parsing an ASN.1 UTF-8 string. Itcan detect an invalid field and return error. Unfortunately, wh…
CVE-2024-2466Medium6.52024-03-27libcurl did not check the server certificate of TLS connections done to a host specified as an IP address, when built to use mbedTLS. libcurl would wrongly av…
CVE-2024-2398High8.62024-03-27When an application tells libcurl it wants to allow HTTP/2 server push, and the amount of received headers for the push surpasses the maximum allowed limit (10…
CVE-2024-2379Medium6.32024-03-27libcurl skips the certificate verification for a QUIC connection under certain conditions, when built to use wolfSSL. If told to use an unknown/bad cipher or c…
CVE-2024-2004Low3.52024-03-27When a protocol selection parameter option disables all protocols without adding any then the default set of protocols would remain in the allowed set due to a…
CVE-2024-0853Medium5.32024-02-03curl 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…
CVE-2023-46219Medium5.32023-12-12When saving HSTS data to an excessively long file name, curl could end up removing all contents, making subsequent requests using that file unaware of the HSTS…
CVE-2023-46218Medium6.52023-12-07This flaw allows a malicious HTTP server to set "super cookies" in curl that are then passed back to more origins than what is otherwise allowed or possible. T…
CVE-2023-38546Low3.72023-10-18This flaw allows an attacker to insert cookies at will into a running program using libcurl, if the specific series of conditions are met. libcurl performs tr…
CVE-2023-38545Critical9.82023-10-18This flaw makes curl overflow a heap based buffer in the SOCKS5 proxy handshake. When curl is asked to pass along the host name to the SOCKS5 proxy to allow t…
CVE-2023-38039High7.52023-09-15When 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 hav…
CVE-2019-5436High7.82019-05-28A heap buffer overflow in the TFTP receiving code allows for DoS or arbitrary code execution in libcurl versions 7.19.4 through 7.64.1.
CVE-2019-5435Low3.72019-05-28An integer overflow in curl's URL API results in a buffer overflow in libcurl 7.62.0 to and including 7.64.1.
CVE-2017-2629Medium4.32018-07-27curl before 7.53.0 has an incorrect TLS Certificate Status Request extension feature that asks for a fresh proof of the server's certificate's validity in the…
CVE-2012-00362012-04-13curl and libcurl 7.2x before 7.24.0 do not properly consider special characters during extraction of a pathname from a URL, which allows remote attackers to co…
CVE-2010-38422010-10-28Absolute path traversal vulnerability in curl 7.20.0 through 7.21.1, when the --remote-header-name or -J option is used, allows remote servers to create or ove…
CVE-2010-07342010-03-19content_encoding.c in libcurl 7.10.5 through 7.19.7, when zlib is enabled, does not properly restrict the amount of callback data sent to an application that r…
CVE-2009-24172009-08-14lib/ssluse.c in cURL and libcurl 7.4 through 7.19.5, when OpenSSL is used, does not properly handle a '\0' character in a domain name in the subject's Common N…
CVE-2009-00372009-03-05The redirect implementation in curl and libcurl 5.11 through 7.19.3, when CURLOPT_FOLLOWLOCATION is enabled, accepts arbitrary Location values, which might all…
CVE-2005-31852005-10-13Stack-based buffer overflow in the ntlm_output function in http-ntlm.c for (1) wget 1.10, (2) curl 7.13.2, and (3) libcurl 7.13.2, and other products that use…