p PatchFirst

PatchFirst · Latest vulnerabilities

curl vulnerabilities

Vulnerabilities published for curl in the last 30 days: 24. Listed in the KEV catalogue: 0.

RSS ↗
Filter vulnerabilities
Clear filters

Vulnerabilities: 222

  1. CVE-2026-107929

    Not ratedEPSS 0.29%No fix published

    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 different source can silently reuse an existing connection and go out from the earlier transfer's source address

    Published Updated
  2. CVE-2026-107928

    Not ratedEPSS 0.26%No fix published

    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 number of bytes it was given to send**. GnuTLS does that after a blocked send.

    Published Updated
  3. CVE-2026-94265

    Not ratedEPSS 0.33%No fix published

    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 trigger a redirect containing arbitrary userinfo to force curl to send a freshly minted Kerberos ticket—generated using the ambient identity of the client process to an untrusted third-party host, effectively bypassing the domain-scoping restrictions normally enforced by the absence of `--location-trusted`.

    Published Updated
  4. CVE-2026-92391

    Not ratedEPSS 0.28%No fix published

    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 during structure traversal, ultimately crashing the host process.

    Published Updated
  5. CVE-2026-92390

    Not ratedEPSS 0.29%No fix published

    -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 `Content-Disposition` under `--etag-save`. This flaw allows an HTTP(S) server to overwrite an existing local file specified in the `Content-Disposition` header despite the presence of the `-J` non-overwrite constraint.

    Published Updated
  6. CVE-2026-92389

    Not ratedEPSS 0.29%No fix published

    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 request in a way that forces the client into transmit mode, prompting libcurl to consume and transmit data from the handle's persistent `CURLOPT_READDATA` pointer - including data remaining from unrelated prior operations, such as an HTTP POST request executed on a reused handle.

    Published Updated
  7. CVE-2026-92388

    Not ratedEPSS 0.29%No fix published

    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. Subsequent reuse of this handle triggers an immediate crash, and cloning it via `curl_easy_duphandle()` copies this corrupted state into the duplicate. If the original handle is subsequently freed, executing a transfer on the cloned handle causes a heap use-after-free read against the dangling handle reference; alternatively, reusing the original or cloned handle while changing only `CURLOPT_WRITEDATA` (and

    Published Updated
  8. CVE-2026-92387

    Not ratedEPSS 0.31%No fix published

    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 bound to the same multi-handle.

    Published Updated
  9. CVE-2026-92386

    Not ratedEPSS 0.29%No fix published

    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 cookie jar using `--cookie` silently aborts parsing prematurely upon encountering the too long line, ignoring all subsequent valid cookies in the file.

    Published Updated
  10. CVE-2026-87866

    Not ratedEPSS 0.18%No fix published

    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 certificate - tricked by a manipulated validity length field - extracts and matches a different embedded key, incorrectly authorizing the pinned public key.

    Published Updated
  11. CVE-2026-87863

    Not ratedEPSS 0.29%No fix published

    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 limits that exceeds calendar time structure bounds. During cache saves, the original HSTS file is truncated before writing a temporary replacement; when serialization fails, the temporary file is deleted, leaving an empty or partial cache. Because the save error is silently ignored during cleanup, curl exits successfully despite the data loss.

    Published Updated
  12. CVE-2026-87864

    Not ratedEPSS 0.21%Fix available

    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 bytes to be interpreted and executed as pipelined IMAP commands within the authenticated session.

    • Update to 8.22.0-1
    Published Updated
  13. CVE-2026-87862

    Not ratedEPSS 0.29%No fix published

    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 rather than upgrading to HTTPS.

    Published Updated
  14. CVE-2026-86415

    Not ratedEPSS 0.17%No fix published

    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 the code explicitly switched off the auto client cert option for that transfer to prevent exactly this.

    Published Updated
  15. CVE-2026-86412

    Not ratedEPSS 0.29%No fix published

    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 procedure replaces the jar with an empty file, deleting cookies for unrelated domains.

    Published Updated

Check your server

Check your installed stack and versions against the current vulnerability feeds.

Check your server →