VulnSea

curl has 28 CVEs on record between 2023 and 2026. Disclosure cadence is accelerating: 24 in the last 90 days against 0 in the 90 before. The busiest recent month was October 2026 with 24. The median CVSS is 7.3 (high). None have a confirmed exploitation report. The most common weakness class is CWE-201 (7).

CVEs per month

Last 12 months, by publish date

111201020304050607080910
Exploited share
0% vs 1% corpus
Median CVSS
7.3
Publish → KEV
—
Last 90 days
24 prev 0

Products

  • curl 28
28
Total CVEs
0
Critical
0
CISA KEV
0
Exploited

curl vulnerabilities

CVEs affecting curl, newest first. Open any entry for full detail, references, and exploit status.

28 CVEsRSS

CVE-2026-87861None
today

cross-origin reuse of a Negotiate connection

When using ambient user credentials, an HTTP request directed to one origin may be dispatched over a connection previously authenticated via Negotiate for a different origin, leaving the request's intended credentials unused.

▾ Sunlitcurl · curlvia CVEORG
CVE-2026-86415None
today

auto client cert connection reuse mixup

libcurl's connection cache match function never considers the automatic client certificate option, so a cached, already authenticated Schannel connection can be handed to a transfer that got redirected to a different origin, even though …

▾ Sunlitcurl · curlvia CVEORG
CVE-2026-86414None
today

leaking host credentials to HTTP proxy

An HTTP proxy can trick libcurl into sending the origin's credentials (Basic password, or a Negotiate/Kerberos ticket) to the proxy itself, by answering the `CONNECT` tunnel request with 401 `WWW-Authenticate:` instead of the expected 40…

▾ Sunlitcurl · curlvia CVEORG
CVE-2026-87864None
today

IMAP APPEND plus CRLF conversion command injection

Enabling `CURLOPT_CRLF` causes curl to advertise the raw input byte count in the `IMAP APPEND {N}` literal while transmitting line-ending expanded data. The server reads only $N$ bytes for the payload, causing the remaining overflow byte…

▾ Sunlitcurl · curlvia CVEORG
CVE-2026-87863None
today

HSTS response erases persisted entries

An authenticated HTTPS origin can supply an HSTS `max-age` value that the parser accepts, but time serialization later fails to process. On 64-bit systems, extreme max-age values compute an absolute expiry within standard time integer li…

▾ Sunlitcurl · curlvia CVEORG
CVE-2026-87862None
today

HSTS cache import drops longer-lived child

Importing a `includeSubDomains` parent HSTS entry before a longer-lived child entry, silently drops the child. Consequently, when the parent expires, the child's valid HSTS policy is lost, causing curl to issue unencrypted HTTP requests …

▾ Sunlitcurl · curlvia CVEORG
CVE-2026-92386None
today

server-set cookie aborts cookie jar load

When writing a long cookie name and value to a Netscape cookie jar, a remote HTTP server can make `curl` write a record that exceeds its line-length parsing limit. Consequently, any subsequent `curl` invocation reading from that same coo…

▾ Sunlitcurl · curlvia CVEORG
CVE-2026-87866None
today

wolfSSL public-key pinning bypass

When built with wolfSSL, curl can successfully validate a pinned public key hash against a key the TLS peer does not possess. During the TLS handshake, wolfSSL validates the connection, but curl's subsequent re-parsing of the same certif…

▾ Sunlitcurl · curlvia CVEORG
CVE-2026-87865None
today

knownhost callback mismatches key as missing

When libcurl uses libssh2 with a hashed `known_hosts` file, an unrelated initial entry can cause host key validation to report a key *mismatch* as a *missing* key to the `CURLOPT_SSH_KEYFUNCTION` callback.

▾ Sunlitcurl · curlvia CVEORG
CVE-2026-92387None
today

never-ending loop via server response omission

By permanently omitting the final control-response line, a malicious FTP, IMAP, POP3, or SMTP server can exploit libcurl and completely bypass its configured transfer timeout mechanism, indefinitely blocking all concurrent transfers boun…

▾ Sunlitcurl · curlvia CVEORG
CVE-2026-92389None
today

TFTP direction confusion

libcurl's TFTP state machine fails to validate state transitions against the requested transfer direction, accepting opening server responses for both reads and writes interchangeably. A malicious TFTP server can respond to a download re…

▾ Sunlitcurl · curlvia CVEORG
CVE-2026-92388None
today

FTP wildcard write callback mixup

When an FTP wildcard `LIST` operation fails, libcurl omits the restoration path meant for successful listings, leaving the write callback set to the internal listing parser and the write callback data pointing directly to the easy handle…

▾ Sunlitcurl · curlvia CVEORG
CVE-2026-92390None
today

-J no-clobber guarantee bypassed with 103 early hints

When invoked with `--remote-header-name` (`-J`), curl fails to preserve its documented anti-clobbering protection if an intermediate 103 Early Hints response precedes the final HTTP response, or if an `ETag` header is processed before `C…

▾ Sunlitcurl · curlvia CVEORG
CVE-2026-92391None
today

curl_mime_free stack overflow by recursion

A deeply nested multipart MIME structure constructed via the public API causes a stack overflow in libcurl during normal cleanup operations. An excessive recursion depth within `curl_mime_free` leads to unbounded stack frame allocation d…

▾ Sunlitcurl · curlvia CVEORG
CVE-2026-94266None
today

password leak in CURLINFO_EFFECTIVE_URL

libcurl could accidentally return a URL for `curl_easy_getinfo()`'s `CURLINFO_EFFECTIVE_URL` option containing credentials, even though neither the URL provided to libcurl nor the redirected URL did.

▾ Sunlitcurl · curlvia CVEORG
CVE-2026-94265None
today

Authorization: Negotiate sent to foreign origin

When processing an HTTP redirect to a URL containing userinfo (a `username:password` component), curl might erroneously retain and re-transmit the original host's HTTP Negotiate authentication state. Consequently, a malicious server can …

▾ Sunlitcurl · curlvia CVEORG
CVE-2026-107929None
today

local interface connection reuse mixup

When `CURLOPT_INTERFACE` (or the command line tool's `--interface` option) is set with one of the documented prefixes (`if!`, `host!`, `ifhost!`), that binding is not part of the connection reuse key, so a later transfer asking for a dif…

▾ Sunlitcurl · curlvia CVEORG
CVE-2026-107928None
today

info leak uploading over WebSockets with GnuTLS

When curl is built with GnuTLS, a malicious WebSocket server can make curl send memory past its send buffer. This is due to an out of bounds read following when `gnutls_record_send()` returns a number of bytes sent **greater than the num…

▾ Sunlitcurl · curlvia CVEORG
CVE-2026-86409None
today

stale SigV4 headers sent unintended

Setting `CURLOPT_AWS_SIGV4` to NULL but does not disable SigV4 authentication, contrary to expectations and documentation. A subsequent transfer on the same handle still sends an `Authorization: AWS4-HMAC-SHA256` header to whatever URL i…

▾ Sunlitcurl · curlvia CVEORG
CVE-2026-86411None
today

FTP connection reuse inherits client-certificate

An `ftp://` transfer configured with `CURLUSESSL_NONE` can reuse a pooled FTP control connection that a previous easy handle upgraded with `STARTTLS` and authenticated using a client certificate. The second handle performs neither a new …

▾ Sunlitcurl · curlvia CVEORG
CVE-2026-86410None
today

redirect to SFTP or SCP bypasses host verification

A flaw in the curl command line tool's logic makes it only set SSH host verification options when interacting directly using SFTP or SCP, and not as a result of following a redirect.

▾ Sunlitcurl · curlvia CVEORG
CVE-2026-86413None
today

Negotiate credentials sent to redirected origin

When using an *ambient user* in a first transfer doing Negotiate authentication and asked to follow redirects, curl could pass on its credential details to an unrelated second origin when asked to redirect there.

▾ Sunlitcurl · curlvia CVEORG
CVE-2026-86412None
today

server-set cookie erases cookie jar

A remote HTTP server can set a cookie that curl accepts and writes to a Netscape cookie jar but cannot reload. On the next invocation using the same path for `--cookie` and `--cookie-jar`, curl fails before connecting, then the cleanup p…

▾ Sunlitcurl · curlvia CVEORG
CVE-2026-92392High· 8.1PoC
6d ago

During an upload, curl mishandles HTTP/2 `RST_STREAM` received from the server (with reason `HTTP_1_1_REQUIRED` or `REFUSED_STREAM`) leading to a use after free of a `struct Curl_easy` object.

During an upload, curl mishandles HTTP/2 `RST_STREAM` received from the server (with reason `HTTP_1_1_REQUIRED` or `REFUSED_STREAM`) leading to a use after free of a `struct Curl_easy` object.

▾ Midnightcurl · curlEPSS 0.63%via NVD
CVE-2023-46219Medium· 5.3PoC
2y ago

When 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 status they should otherwise use.

When 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 status they should otherwise use.

▾ Twilightcurl · curlEPSS 1.1%via CVEORG
CVE-2023-46218Medium· 6.5PoC
2y ago

This 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

This 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. This allows a site to set cookies that then would get sent to different and unr…

▾ Twilightcurl · curlEPSS 1.7%via CVEORG
CVE-2023-38546None
3y ago

This 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 transfers

This 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 transfers. In its API, an application creates "easy handles" that are the indivi…

▾ Sunlitcurl · curlEPSS 6.0%via CVEORG
CVE-2023-38545High· 8.8PoC
3y ago

This 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 that to resolve the address instead of it getting done by curl itself, the maxi…

This 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 that to resolve the address instead of it getting done by curl itself, the maxi…

▾ Midnightcurl · curlEPSS 79%via CVEORG
curl vulnerabilities (CVEs) · VulnSea