Negotiate ambient user conn reuse
A flaw in libcurl makes it wrongly reuse an HTTP connection setup for a given hostname using Negotiate authentication, when the initial request is done using empty credentials. This can make user B's request get sent over user A's previously authenticated connection.
- Published
- Sep 6, 2026
- Updated
- Sep 15, 2026
- EPSS
- 0.7% · 53th percentile
- CWE
- CWE-488
Sign in to follow · You’ll be notified if a followed record enters KEV, gets an exploit or is updated.
Report tools
Action score
39
Monitor
Low priority for now.
- CVSS
- 39 / 40 · 9.8 / 10
- CISA KEV
- 0 / 30 · Not listed
- EPSS
- 0 / 30 · 0.7%
CISA SSVC decision
- Exploitation
- proof of concept
- Automatable
- yes
- Technical impact
- total
Vulnrichment: CISA's decision-tree inputs.
Noroxi analysis
No Noroxi analysis for this record yet
We don't hand-write analysis for the hundreds of thousands of vulnerabilities in the database; that wouldn't be honest. For notable, high-impact vulnerabilities our team writes the mechanism, detection and remediation steps.
We use this product, ask for helpAffected systems
| Vendor | Product | CPE |
|---|---|---|
| haxx | curl | cpe:2.3:a:haxx:curl |
Affected versions
NVD version ranges (for catalog products). Add the product to your stack with a version and matching uses these.
- haxx curl7.64.1 and later · before 8.22.0
Versions reported by the vendor
Affected version ranges reported by the assigning authority (curl). Independent of NVD's CPE analysis and usually ahead of it.
curl curl
- 8.21.0, 8.20.0, 8.19.0, 8.18.0, 8.17.0, 8.16.0, 8.15.0, 8.14.1, 8.14.0, 8.13.0, 8.12.1, 8.12.0 … (+23)affected
- 7.64.1 and later · before 8.14.2affected · semver
- 8.15.0 and later · before 8.16.1affected · semver
- 8.17.0 and later · before 8.20.1affected · semver
- 8.21.0 and later · before 8.22.0affected · semver
- 6c6035532383e300c712e4c1cd9fdd749ed5cf59 and later · before 7103a93b05bc69ea98ed9d05d02fa9eeba533f2faffected · git
Package-level exposure
OSV and GitHub Advisory data: ecosystem, package and range. SBOM matching uses this table.
| Ecosystem | Package | Affected range | Fix |
|---|---|---|---|
| Alpine:v3.23 | curl | from 7.64.1 · before 8.22.0-r0 | 8.22.0-r0 |
| Debian:12 | curl | all versions | — |
| Debian:14 | curl | before 8.22.0~rc2-1 | 8.22.0~rc2-1 |
| openSUSE:Tumbleweed | curl | before 8.22.0-1.1 | 8.22.0-1.1 |
| Red Hat:hummingbird:1 | cargo | before 0:1.98.0-1.hum1 | 0:1.98.0-1.hum1 |
| Red Hat:hummingbird:1 | clippy | before 0:1.98.0-1.hum1 | 0:1.98.0-1.hum1 |
| Red Hat:hummingbird:1 | curl | before 0:8.22.0-0.1.hum1 | 0:8.22.0-0.1.hum1 |
| Red Hat:hummingbird:1 | libcurl | before 0:8.22.0-0.1.hum1 | 0:8.22.0-0.1.hum1 |
| Red Hat:hummingbird:1 | libcurl-devel | before 0:8.22.0-0.1.hum1 | 0:8.22.0-0.1.hum1 |
| Red Hat:hummingbird:1 | libcurl-minimal | before 0:8.22.0-0.1.hum1 | 0:8.22.0-0.1.hum1 |
| Red Hat:hummingbird:1 | rust | before 0:1.98.0-1.hum1 | 0:1.98.0-1.hum1 |
| Red Hat:hummingbird:1 | rust-analyzer | before 0:1.98.0-1.hum1 | 0:1.98.0-1.hum1 |
| Red Hat:hummingbird:1 | rust-debugger-common | before 0:1.98.0-1.hum1 | 0:1.98.0-1.hum1 |
| Red Hat:hummingbird:1 | rust-doc | before 0:1.98.0-1.hum1 | 0:1.98.0-1.hum1 |
| Red Hat:hummingbird:1 | rust-gdb | before 0:1.98.0-1.hum1 | 0:1.98.0-1.hum1 |
| Red Hat:hummingbird:1 | rust-lldb | before 0:1.98.0-1.hum1 | 0:1.98.0-1.hum1 |
| Red Hat:hummingbird:1 | rust-src | before 0:1.98.0-1.hum1 | 0:1.98.0-1.hum1 |
| Red Hat:hummingbird:1 | rust-std-static | before 0:1.98.0-1.hum1 | 0:1.98.0-1.hum1 |
| Red Hat:hummingbird:1 | rust-std-static-aarch64-unknown-none-softfloat | before 0:1.98.0-1.hum1 | 0:1.98.0-1.hum1 |
| Red Hat:hummingbird:1 | rust-std-static-aarch64-unknown-uefi | before 0:1.98.0-1.hum1 | 0:1.98.0-1.hum1 |
| Red Hat:hummingbird:1 | rust-std-static-i686-pc-windows-gnu | before 0:1.98.0-1.hum1 | 0:1.98.0-1.hum1 |
| Red Hat:hummingbird:1 | rust-std-static-wasm32-unknown-unknown | before 0:1.98.0-1.hum1 | 0:1.98.0-1.hum1 |
| Red Hat:hummingbird:1 | rust-std-static-wasm32-wasip1 | before 0:1.98.0-1.hum1 | 0:1.98.0-1.hum1 |
| Red Hat:hummingbird:1 | rust-std-static-x86_64-pc-windows-gnu | before 0:1.98.0-1.hum1 | 0:1.98.0-1.hum1 |
+3
Same product
haxx: all recordsOther highest-scoring records for the same primary product.
- CVE-2021-22901curl 7.75.0 through 7.76.1 suffers from a use-after-free vulnerability resulting in already freed memory being used when a TLS 1.3 session t50Plan
- CVE-2023-38039When curl retrieves an HTTP response, it stores the incoming headers so that
they can be accessed later via the libcurl headers API.47Plan
- CVE-2024-2398HTTP/2 push headers memory-leak45Plan
- CVE-2019-5482Heap buffer overflow in the TFTP protocol handler in cURL 7.19.4 to 7.65.3.44Plan
- CVE-2017-8817The FTP wildcard function in curl and libcurl before 7.57.0 allows remote attackers to cause a denial of service (out-of-bounds read and app42Plan
- CVE-2017-8816The NTLM authentication feature in curl and libcurl before 7.57.0 on 32-bit platforms allows attackers to cause a denial of service (integer42Plan
Remediation
Which version to upgrade to
Fix versions compiled from the vendor, package registries and Microsoft. Verify the vendor's note before upgrading.
| Product / package | Fixed version | Source |
|---|---|---|
| curl curl | 7103a93b05bc69ea98ed9d05d02fa9eeba533f2f | Vendor (CNA) |
| curl curl | 8.14.2 | Vendor (CNA) |
| curl curl | 8.16.1 | Vendor (CNA) |
| curl curl | 8.20.1 | Vendor (CNA) |
| curl curl | 8.22.0 | Vendor (CNA) |
| azl3 curl 8.11.1-11 on Azure Linux 3.0 | Release Notes | Microsoft (MSRC) |
| alpine:curl | 8.22.0-r0 · Alpine:v3.23 | Package registry (OSV) |
| debian:curl | 8.22.0~rc2-1 · Debian:14 | Package registry (OSV) |
| opensuse:curl | 8.22.0-1.1 · openSUSE:Tumbleweed | Package registry (OSV) |
| red hat:cargo | 0:1.98.0-1.hum1 · Red Hat:hummingbird:1 | Package registry (OSV) |
| red hat:clippy | 0:1.98.0-1.hum1 · Red Hat:hummingbird:1 | Package registry (OSV) |
| red hat:curl | 0:8.22.0-0.1.hum1 · Red Hat:hummingbird:1 | Package registry (OSV) |
| red hat:libcurl | 0:8.22.0-0.1.hum1 · Red Hat:hummingbird:1 | Package registry (OSV) |
| red hat:libcurl-devel | 0:8.22.0-0.1.hum1 · Red Hat:hummingbird:1 | Package registry (OSV) |
| red hat:libcurl-minimal | 0:8.22.0-0.1.hum1 · Red Hat:hummingbird:1 | Package registry (OSV) |
| red hat:rust | 0:1.98.0-1.hum1 · Red Hat:hummingbird:1 | Package registry (OSV) |
| red hat:rust-analyzer | 0:1.98.0-1.hum1 · Red Hat:hummingbird:1 | Package registry (OSV) |
| red hat:rust-debugger-common | 0:1.98.0-1.hum1 · Red Hat:hummingbird:1 | Package registry (OSV) |
| red hat:rust-doc | 0:1.98.0-1.hum1 · Red Hat:hummingbird:1 | Package registry (OSV) |
| red hat:rust-gdb | 0:1.98.0-1.hum1 · Red Hat:hummingbird:1 | Package registry (OSV) |
| red hat:rust-lldb | 0:1.98.0-1.hum1 · Red Hat:hummingbird:1 | Package registry (OSV) |
Exploit status
No known public exploit
No public exploit has been observed yet. That doesn't mean you're safe, only that the bar is a little higher.
Research context
For pentesters and researchers: attack profile, score disagreement, timeline, patch commits, credits, variant and chain candidates, bug bounty scope. All derived from existing data; no exploit code.
Timeline
From publication to today: proof of concept, Metasploit module, CISA KEV and fix record. Dates are as reported by the sources.
No dated events beyond publication.
FIRST EPSS daily score; only changes of 0.01 or more are recorded (step chart).
Patch and commit links
Commit, PR and diff links among the references. A starting point for patch-diffing and variant hunting; fixes, not exploits.
No commit or PR link among the references.
Credits
All researchersFinders, reporters and analysts named in the CNA record. Click a name for that researcher’s other records.
- Martin Dukekfinder
- Stefan Eissingremediation developer
Variant candidates
Same product, same weakness class, within 18 months. If the patch missed the root cause, the sibling bug is here.
- CVE-2026-802310 days apartnative CA store conn reuse30Monitor
- CVE-2026-5773116 days apartwrong reuse of SMB connection30Monitor
- CVE-2026-845865 days apartwrong reuse for different services26Monitor
Chain candidates
An authentication bypass and a privilege-requiring bug in the same product, published close together: combined they may become an unauthenticated path.
—
Bug bounty scope
No known public program.
Source: bounty-targets-data (public HackerOne, Bugcrowd, Intigriti, YesWeHack listings).
Technical details
Attack conditions
- Anyone who can reach it over the internet can trigger it.
- No account or password is required.
- No user action is required.
- No special conditions are required; it is repeatable.
If successful
- Confidentiality
- high · data can be read
- Integrity
- high · data or configuration can be modified
- Availability
- high · the service can be disrupted
- Attack vector
- Network
- Attack complexity
- Low
- Privileges required
- None
- User interaction
- None
- Scope
- Unchanged
- Confidentiality impact
- High
- Integrity impact
- High
- Availability impact
- High
Weakness class (CWE)
CWE-488 · Exposure of Data Element to Wrong SessionCVSS vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
nvd-secondary
Attack context
MITRE CAPEC attack patterns and ATT&CK techniques for this weakness class (CWE). A starting point for detection rules and threat hunting.
Attack patterns (CAPEC)
Change log
- Fix✗ → ✓
For records you follow, these changes also arrive as notifications. →
References
Vendor advisories and official records. Exploit/PoC links are deliberately left out.