CVE-2026-107928: curl security update
Affects curlSource GCVE Database
Mentioned vulnerabilities
Not known to be exploited · CVSS 8.1 High : upgrade to 8.4.0-38.oe2403sp1 soon.
Data as of 11 Nov 2026, 13:20 UTC
Thin evidence
One scorer or none| CISA-ADP | CVSS 3.1 | 8.1 |
|---|
- Patch
- Available – fixed in 8.4.0-38.oe2403sp1
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:HExploitation evidence
Disclosed: evidence found.
CVE published 20 Oct 2026
Detectable: no evidence on record.
No public nuclei template indexed
Weaponized: no evidence on record.
No public exploit code indexed in Metasploit or Exploit-DB
Exploited in the wildExploited: no evidence on record.
Not in CISA KEV and no source reports exploitation
Observed by OffSeq MirageSeen by Mirage: no evidence on record.
No attack traffic recorded by OffSeq Mirage sensors
A missing step is not evidence of safety. Sources: cve.org (opens in a new tab), the Metasploit, Exploit-DB and nuclei-templates index as of 11 Nov 2026.
What to do
Upgrade curl to 8.4.0-38.oe2403sp1.
Affected software
| Product | Affected | Fixed in |
|---|---|---|
openEuler 24.03-LTS-SP1curlpkg:rpm/openEuler/curl&distro=openEuler-24.03-LTS-SP1Other threats | Affected
| Fixed in
|
Check your own hosts for these packages with threat-finder (opens in a new tab), our free open-source scanner.
Description
cURL is a computer software project providing a library (libcurl) and command-line tool (curl) for transferring data using various protocols. Security Fix(es): 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.(CVE-2026-107928) 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.(CVE-2026-86409) 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.(CVE-2026-86410) 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:`.(CVE-2026-86414) 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.(CVE-2026-87862) 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.(CVE-2026-87863) 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.(CVE-2026-87864) 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.(CVE-2026-87865) 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.(CVE-2026-87866) 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.(CVE-2026-92386) 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 omitting `CURLOPT_WRITEFUNCTION`) results in type confusion, forcing the internal parser to interpret incoming server response bytes into memory at the application-supplied write data pointer.(CVE-2026-92388) 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.(CVE-2026-92389) When invoked with `--remote-header-name` (`-J`)
References
- openeuler.org/zh/security/security-bulletins/detail/?id=openEuler-SA-2026-4851 (opens in a new tab)
- nvd.nist.gov/vuln/detail/CVE-2026-107928 (opens in a new tab)
- nvd.nist.gov/vuln/detail/CVE-2026-86409 (opens in a new tab)
- nvd.nist.gov/vuln/detail/CVE-2026-86410 (opens in a new tab)
- nvd.nist.gov/vuln/detail/CVE-2026-86414 (opens in a new tab)
- nvd.nist.gov/vuln/detail/CVE-2026-87862 (opens in a new tab)
- nvd.nist.gov/vuln/detail/CVE-2026-87863 (opens in a new tab)
- nvd.nist.gov/vuln/detail/CVE-2026-87864 (opens in a new tab)
- nvd.nist.gov/vuln/detail/CVE-2026-87865 (opens in a new tab)
- nvd.nist.gov/vuln/detail/CVE-2026-87866 (opens in a new tab)
- nvd.nist.gov/vuln/detail/CVE-2026-92386 (opens in a new tab)
- nvd.nist.gov/vuln/detail/CVE-2026-92388 (opens in a new tab)
- nvd.nist.gov/vuln/detail/CVE-2026-92389 (opens in a new tab)
- nvd.nist.gov/vuln/detail/CVE-2026-92390 (opens in a new tab)
- nvd.nist.gov/vuln/detail/CVE-2026-92391 (opens in a new tab)
- nvd.nist.gov/vuln/detail/CVE-2026-94266 (opens in a new tab)