Skip to main content

curl CVE-2026-9545

| EUVDEUVD-2026-41493 HIGH
Information Exposure (CWE-200)
7.5
CVSS 3.1 · Vendor
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Establish MITM position on client's network path
  2. Delivery
    Impersonate target host without valid certificate
  3. Exploit
    Client reconnects reusing cached TLS session
  4. Execution
    libcurl sends request as 0-RTT early data
  5. Persist
    Certificate verification fails after data already sent
  6. Impact
    Attacker captures leaked sensitive request bytes

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V14 - Data Protection Data exposure prevention
MITRE ATT&CK

2 techniques across 2 tactics: Collection, Discovery

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Exploitation requires all of the following to hold simultaneously: the libcurl-based application must have set the CURLSSLOPT_EARLYDATA bit in CURLOPT_SSL_OPTIONS (TLS 0-RTT is OFF by default); CURLOPT_SSL_SESSIONID_CACHE must remain enabled (the default) so a resumable session exists; and a prior successful transfer to the host must have populated the session cache. The attacker must then achieve an active man-in-the-middle position and impersonate the original hostname on the subsequent connection with an invalid or absent certificate. Limiting factors: the non-default early-data opt-in means most curl deployments are unaffected; the need for an active MITM (not an off-path remote attacker) substantially raises real-world difficulty despite the AV:N/PR:N vector; and only the specific request bytes sent as early data are exposed (I:N/A:N - no integrity or availability impact).

Impact

The published CVSS 7.5 (AV:N/AC:L/PR:N/UI:N/C:H) treats this as trivially exploitable network confidentiality loss, but that score understates the real preconditions: exploitation requires (1) an application that explicitly enabled TLS early data - a non-default setting - and (2) an attacker already positioned as an active man-in-the-middle able to impersonate the target host. Those are exactly the conditions AC:L fails to capture, so the low-complexity rating is optimistic; a more honest assessment raises attack complexity. The signals are internally consistent on low urgency: EPSS is only 0.13% (3rd percentile), the CVE is NOT in CISA KEV, and no POC is referenced, so no public exploit identified at time of analysis. This is a genuine but conditional confidentiality flaw, not a mass-exploitation priority; patch it in the normal cycle, prioritizing systems that opt into early data. State the discrepancy explicitly: CVSS implies an easy off-path remote attack, but the description's 'impostor machine' and 'early data enabled' language means a specialized MITM and non-default config are required - verify your own curl usage before rating urgency.

Exploit ScenarioDerived

An application built on libcurl enables TLS early data for performance and makes repeated requests to a host (e.g., an API endpoint) carrying authentication headers or cookies. An attacker with a network position - via ARP/DNS spoofing, rogue Wi-Fi, or route hijack - impersonates that host on the client's second connection without a valid certificate; libcurl resumes the cached session and transmits the request's 0-RTT bytes to the impostor before the certificate check aborts, leaking the sensitive headers. No POC is referenced in the available intelligence.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.1% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv5 – Jul 06, 2026

Information disclosure in libcurl (curl 8.11.0 through 8.20.0) allows a network man-in-the-middle to capture sensitive request data when TLS early data (0-RTT) is combined with SSL session ID caching. If an application enables the CURLSSLOPT_EARLYDATA bit and leaves the session cache active, libcurl can transmit a resumed request's bytes on a reconnection before it enforces a certificate verification failure, so an attacker who impersonates the original host without a valid certificate may receive the leaked data. No public exploit identified at time of analysis, and EPSS is low (0.13%), reflecting the non-default configuration and active-MITM prerequisite.

Earlier versions of this analysis (4)
v4 Jul 06, 2026 - 18:49 cvss changed CVSS 7.5

Information disclosure in libcurl (curl 8.11.0 through 8.20.0) allows a man-in-the-middle attacker to receive sensitive request data over HTTP/3 when TLS early data (0-RTT) and SSL session caching are both in use. On a reused connection to a previously visited host, libcurl can transmit the second request's bytes as early data to an impostor server before it enforces the certificate verification failure, leaking the request contents to an attacker who has replaced the legitimate server. There is no public exploit identified at time of analysis, and EPSS risk is low (0.13%, 3rd percentile), consistent with the narrow non-default preconditions required.

v3 Jul 06, 2026 - 18:47 cvss changed CVSS 7.5

Information disclosure in libcurl (versions 8.11.0 through at least 8.20.0) allows a man-in-the-middle attacker to receive a request's early-data bytes before a TLS certificate verification failure is enforced. When a client reuses a cached TLS session over HTTP/3 with the opt-in CURLSSLOPT_EARLYDATA option set, an impostor server presenting an invalid certificate can capture 0-RTT request data - potentially including cookies, tokens, or credentials - that libcurl transmits before aborting the connection. EPSS is low (0.13%, 3rd percentile) and there is no public exploit identified at time of analysis.

v2 Jul 06, 2026 - 18:46 cvss changed CVSS 7.5

Information disclosure in libcurl 8.11.0 through 8.20.0 allows a man-in-the-middle attacker to harvest a second request's payload before certificate verification is enforced. When TLS 1.3 early data (CURLSSLOPT_EARLYDATA) is enabled and the SSL session-ID cache is active (the default), a subsequent transfer to a previously-seen host can flush 0-RTT request bytes onto a new connection before libcurl rejects the impostor server's missing/invalid certificate, potentially leaking sensitive data such as credentials or cookies. EPSS is low (0.13%, 3rd percentile) and there is no public exploit identified at time of analysis; the issue is not listed in CISA KEV.

v1 Jun 24, 2026 - 18:26

HTTP/3 early data (TLS 1.3 0-RTT) is incorrectly exposed in curl's HTTP/3 implementation, potentially allowing network-positioned adversaries to capture and replay sensitive request data sent during the early-data phase before the full TLS handshake completes. Affected versions include curl through 8.20.0 and the flaw is fixed in curl 8.21.0 released June 24, 2026. No public exploit code or CISA KEV listing has been identified at time of analysis; curl rates this LOW severity.

RemediationAI

Patch available per vendor advisory - upgrade to the fixed curl/libcurl release identified at https://curl.se/docs/CVE-2026-9545.html (a released patched version tag is not independently confirmed in the input, so consult the advisory for the exact fixed version), and on Ubuntu apply the packages from USN-8487-1 (https://ubuntu.com/security/notices/USN-8487-1). If immediate patching is not possible, the most direct compensating control is to disable TLS early data by clearing the CURLSSLOPT_EARLYDATA bit in CURLOPT_SSL_OPTIONS, which fully removes the 0-RTT leak path at the cost of losing the round-trip latency savings of early data. Alternatively, disabling the session cache via CURLOPT_SSL_SESSIONID_CACHE prevents the resumption that enables 0-RTT, but increases full-handshake overhead on repeat connections. Because the attack also depends on an active MITM, hardening the network path (certificate pinning where feasible, trusted DNS/DoH to resist redirection) reduces the opportunity for host impersonation, though these do not fix the underlying ordering bug.

Affected VersionsENISA

curl 8.16.0 ≤8.16.0
curl 8.12.1 ≤8.12.1
curl 8.20.0 ≤8.20.0
curl 8.15.0 ≤8.15.0
curl 8.18.0 ≤8.18.0
curl 8.12.0 ≤8.12.0
curl 8.19.0 ≤8.19.0
curl 8.11.0 ≤8.11.0
curl 8.14.0 ≤8.14.0
curl 8.14.1 ≤8.14.1
curl 8.13.0 ≤8.13.0
curl 8.11.1 ≤8.11.1
curl 8.17.0 ≤8.17.0

Affected Packages

euvd curl no fix

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

The flaw lives in libcurl's TLS session resumption path when TLS 1.3 early data (0-RTT) is used. TLS 0-RTT lets a client send application bytes in the first flight using a pre-shared key derived from a previously cached session, before the fresh handshake completes - and thus before the server's certificate is re-validated. libcurl gates this behind two opt-ins: CURLOPT_SSL_SESSIONID_CACHE (session cache, on by default) and the CURLSSLOPT_EARLYDATA bit inside CURLOPT_SSL_OPTIONS (off by default). The bug is an ordering/error-handling defect: on the second connection to a host now controlled by an impostor lacking a valid certificate, libcurl emits the early-data payload before the certificate verification failure aborts the transfer. No CWE was assigned by NVD, but the root cause is best classed as improper certificate validation prior to data transmission (CWE-295 family), specifically a check-after-use ordering error. Affected CPEs span curl/libcurl across the 8.11.x-8.20.x line per the ENISA EUVD data.

Know when Curl gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (CNA) PRIMARY 7.5 HIGH
AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
vuln.today AI 3.7 LOW

Active MITM plus non-default early-data opt-in raises complexity to AC:H; no client auth so PR:N; only request data leaks, giving C:H with I:N/A:N.

3.1 AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:N/A:N
4.0 AV:N/AC:H/AT:P/PR:N/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N
SUSE 5.9 MEDIUM
AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N
Red Hat 7.5 HIGH

Primary rating from Vendor (CNA).

CVSS VectorVendor

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
None
Availability
None

Lifecycle Timeline

5
Analysis Updated
Jul 06, 2026 - 18:50 vuln.today
v5 - CVSS changed
Analysis Updated
Jul 06, 2026 - 18:49 vuln.today
v4 - CVSS changed
Analysis Updated
Jul 06, 2026 - 18:47 vuln.today
v3 - CVSS changed
Analysis Updated
Jul 06, 2026 - 18:46 vuln.today
v2 - CVSS changed
CVSS changed
Jul 06, 2026 - 18:22 NVD
7.5 (HIGH)

Description PRE-NVD

Disclosed via oss-security. NVD scoring and full description are pending.

Executive ViewAI

Why It Matters

Libcurl versions 8.11.0 through 8.20.0 contain an information disclosure vulnerability in TLS 0-RTT session handling that could expose sensitive request data to network attackers positioned to intercept traffic. The vulnerability requires specific, non-default configuration (CURLSSLOPT_EARLYDATA enabled and session caching active), limiting real-world exposure. Organizations should prioritize identifying curl dependencies in production systems and apply available patches to eliminate credential leakage risks.

Business Impact: High
Compensating Controls

Apply vendor patch. Interim mitigation: disable TLS 0-RTT by unsetting CURLSSLOPT_EARLYDATA, or disable curl's session cache (CURLSSLOPT_SESSIONID=0) until patched.

Threat Intelligence Overview

EPSS Score
0.1%
Top 97% exploitable
Prevalence
Ubiquitous
curl/libcurl ships in nearly every OS and countless applications
Data Quality
6 sources
Confidence: High

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.1%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation· derived
None
System Exposure· derived
Open
Automatable· derived
Yes
Human Impact
High

Priority Score

38
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +38
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

More in Curl

View all
CVE-2021-22901 HIGH POC
8.1 Jun 11

curl 7.75.0 through 7.76.1 suffers from a use-after-free vulnerability resulting in already freed memory being used when

CVE-2013-0249 HIGH POC
7.5 Mar 08

Stack-based buffer overflow in the Curl_sasl_create_digest_md5_message function in lib/curl_sasl.c in curl and libcurl 7

CVE-2015-3145 HIGH
7.5 Apr 24

The sanitize_cookie_path function in cURL and libcurl 7.31.0 through 7.41.0 does not properly calculate an index, which

CVE-2022-32206 MEDIUM POC
6.5 Jul 07

curl < 7.84.0 supports "chained" HTTP compression algorithms, meaning that a serverresponse can be compressed multiple t

CVE-2022-32207 CRITICAL POC
9.8 Jul 07

When curl < 7.84.0 saves cookies, alt-svc and hsts data to local files, it makes the operation atomic by finalizing the

CVE-2022-43551 HIGH POC
7.5 Dec 23

A vulnerability exists in curl <7.87.0 HSTS check that could be bypassed to trick it to keep using HTTP. Rated high seve

CVE-2022-32221 CRITICAL POC
9.8 Dec 05

When doing HTTP(S) transfers, libcurl might erroneously use the read callback (`CURLOPT_READFUNCTION`) to ask for data t

CVE-2018-0500 CRITICAL POC
9.8 Jul 11

Curl_smtp_escape_eob in lib/smtp.c in curl 7.54.1 to and including curl 7.60.0 has a heap-based buffer overflow that mig

CVE-2022-32205 MEDIUM POC
4.3 Jul 07

A malicious server can serve excessive amounts of `Set-Cookie:` headers in a HTTP response to curl and curl < 7.84.0 sto

CVE-2025-9086 HIGH POC
7.5 Sep 12

1. Rated high severity (CVSS 7.5), this vulnerability is remotely exploitable, no authentication required, low attack co

CVE-2023-23914 CRITICAL POC
9.1 Feb 23

A cleartext transmission of sensitive information vulnerability exists in curl <v7.88.0 that could cause HSTS functional

CVE-2023-27534 HIGH POC
8.8 Mar 30

A path traversal vulnerability exists in curl <8.0.0 SFTP implementation causes the tilde (~) character to be wrongly re

Vendor StatusVendor

SUSE

Severity: Moderate
Product Status
SLES15-SP5-CHOST-BYOS-SAP-CCloud Affected
SLES15-SP6-CHOST-BYOS Affected
SLES15-SP6-CHOST-BYOS-Aliyun Affected
SLES15-SP6-CHOST-BYOS-Azure Affected
SLES15-SP6-CHOST-BYOS-EC2 Affected

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy