p PatchFirst

PatchFirst · Latest vulnerabilities

curl vulnerabilities

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

RSS ↗
Filter vulnerabilities
Clear filters

Vulnerabilities: 28

  1. CVE-2026-107929

    Not ratedEPSS 0.29%Fix available

    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

    • Update to 8.20.0-2ubuntu11.1
    Published Updated
  2. CVE-2026-107928

    Not ratedEPSS 0.26%Fix available

    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.

    • Update to 8.20.0-2ubuntu11.1
    Published Updated
  3. CVE-2026-92391

    Not ratedEPSS 0.28%Fix available

    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.

    • Update to 8.20.0-2ubuntu11.1
    Published Updated
  4. CVE-2026-92390

    Not ratedEPSS 0.29%Fix available

    -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.

    • Update to 8.20.0-2ubuntu11.1
    Published Updated
  5. CVE-2026-92389

    Not ratedEPSS 0.29%Fix available

    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.

    • Update to 8.20.0-2ubuntu11.1
    Published Updated
  6. CVE-2026-92388

    Not ratedEPSS 0.29%Fix available

    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

    • Update to 8.20.0-2ubuntu11.1
    Published Updated
  7. CVE-2026-92387

    Not ratedEPSS 0.31%Fix available

    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.

    • Update to 8.20.0-2ubuntu11.1
    Published Updated
  8. CVE-2026-92386

    Not ratedEPSS 0.29%Fix available

    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.

    • Update to 8.20.0-2ubuntu11.1
    Published Updated
  9. CVE-2026-87863

    Not ratedEPSS 0.29%Fix available

    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.

    • Update to 8.20.0-2ubuntu11.1
    Published Updated
  10. 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.20.0-2ubuntu11.1
    Published Updated
  11. CVE-2026-87862

    Not ratedEPSS 0.29%Fix available

    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.

    • Update to 8.20.0-2ubuntu11.1
    Published Updated
  12. CVE-2026-86414

    Not ratedEPSS 0.29%Fix available

    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 407 `Proxy-Authenticate:`.

    • Update to 8.20.0-2ubuntu11.1
    Published Updated
  13. CVE-2026-86412

    Not ratedEPSS 0.29%Fix available

    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.

    • Update to 8.20.0-2ubuntu11.1
    Published Updated
  14. CVE-2026-86409

    Not ratedEPSS 0.25%Fix available

    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 isset next, leaking state information.

    • Update to 8.20.0-2ubuntu11.1
    Published Updated
  15. CVE-2026-82209

    High · CVSS 8.2EPSS 0.37%Fix available

    domain-scoped PSL domain cookie

    When libpsl support is enabled, libcurl fails to enforce the Public Suffix List boundary check when processing a `Set-Cookie` header where the `Domain` attribute explicitly matches an origin host that is itself a public suffix (e.g., `Domain=co.uk` set by `co.uk`). Instead of coercing it into a strict host-only cookie, libcurl saves the cookie with wildcard domain scope (`.co.uk`). Consequently, the cookie is inappropriately included in subsequent outbound requests or HTTP redirects to arbitrary sibling subdomains under the same public suffix (e.g., `attacker.co.uk`).

    • Update to 8.20.0-2ubuntu11
    Published Updated
  16. CVE-2026-80255

    High · CVSS 7.5EPSS 0.48%Fix available

    secure cookie attribute bypass with tab

    A `Set-Cookie:` header using tab (horizontal tab, ASCII code 9) instead of space (ascii code 32) immediately before the `Secure` attribute causes curl to store the cookie without its Secure flag. The cookie might then wrongfully be sent over plaintext HTTP on subsequent requests to the same host.

    • Update to 8.20.0-2ubuntu11
    Published Updated

Check your server

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

Check your server →