Cyber Resilience

CVE-2026-1965

Auth Bypass in Haxx Curl 7.10.6 – 8.19.0

Published
11 March 2026
Modified
12 March 2026
Patch / advisory
CVSS Score v3.1 6.5
Click a component to see what it means
Raw vectorCVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:N
EPSS Score 0.0026 18th percentile
Risk Priority 35 floored blend · peak EPSS

Summary

CVE-2026-1965 is a medium-severity Authentication Bypass by Primary Weakness (CWE-305) vulnerability in Haxx Curl. Its CVSS base score is 6.5 (Medium).

Operationally, ranked at the 18th percentile by exploit likelihood (below the median); it is not currently listed in the CISA KEV catalog.

The strongest mitigations our analysis identified map to AC-3 (Access Enforcement) and SC-23 (Session Authenticity) — see the control section below for these in your framework.

OWASP Top 10 for Web (2025)

EU & UK References

Vulnerability Data

libcurl can in some circumstances reuse the wrong connection when asked to do an Negotiate-authenticated HTTP or HTTPS request. libcurl features a pool of recent connections so that subsequent requests can reuse an existing connection to avoid overhead. When reusing…

more

a connection a range of criterion must first be met. Due to a logical error in the code, a request that was issued by an application could wrongfully reuse an existing connection to the same server that was authenticated using different credentials. One underlying reason being that Negotiate sometimes authenticates *connections* and not *requests*, contrary to how HTTP is designed to work. An application that allows Negotiate authentication to a server (that responds wanting Negotiate) with `user1:password1` and then does another operation to the same server also using Negotiate but with `user2:password2` (while the previous connection is still alive) - the second request wrongly reused the same connection and since it then sees that the Negotiate negotiation is already made, it just sends the request over that connection thinking it uses the user2 credentials when it is in fact still using the connection authenticated for user1... The set of authentication methods to use is set with `CURLOPT_HTTPAUTH`. Applications can disable libcurl's reuse of connections and thus mitigate this problem, by using one of the following libcurl options to alter how connections are or are not reused: `CURLOPT_FRESH_CONNECT`, `CURLOPT_MAXCONNECTS` and `CURLMOPT_MAX_HOST_CONNECTIONS` (if using the curl_multi API).

CWE(s)

Related Threats

MITRE ATT&CK Enterprise TechniquesAI

Insufficient information to map techniques.
Confidence: LOW · MITRE ATT&CK Enterprise v19.0

CVEs Like This One

CVE-2026-3784Same product: Haxx Curl
CVE-2025-5399Same product: Haxx Curl
CVE-2026-6429Same product: Haxx Curl
CVE-2026-5545Same product: Haxx Curl
CVE-2026-8286Same product: Haxx Curl
CVE-2026-8926Same product: Haxx Curl
CVE-2025-4947Same product: Haxx Curl
CVE-2026-11586Same product: Haxx Curl
CVE-2026-9079Same product: Haxx Curl
CVE-2026-9545Same product: Haxx Curl

Affected Assets

haxx
curl
7.10.6 — 8.19.0

Mitigating Controls

Control response

Prevent
Stop it (NIST 800-53)
  • AC-3 Access Enforcement
  • SC-23 Session Authenticity
  • IA-2 Identification and Authentication (Organizational Users)
Detect
Catch it (NIST detect / respond)

Harden
Shrink the surface (DISA STIG)
  • 5 hardening rules · 3 OS baselines
Validate
Prove the fix (OWASP ASVS)
  • V6.4.3
  • V7.2.4

Mitigating Controls (NIST 800-53 r5) AI

prevent

Directly enforces that each request uses only the credentials that authenticated its specific connection, blocking the erroneous reuse of a Negotiate-authenticated connection for a different user.

prevent

Requires protection of session authenticity so that a connection already bound to one set of Negotiate credentials cannot be silently reused by a subsequent request carrying different credentials.

prevent

Mandates proper identification and authentication of each organizational user per request, exposing the flaw when libcurl reuses a connection whose authentication state no longer matches the current caller.

Mitigating Controls (NIST CSF 2.0) AI

Derived directly from the weakness types (CWEs) cited in the NVD entry via our AI-authored CWE→CSF cross-walk (authority under review) — links open the control.

PR.PS-06 full match
prevents

Secure development practices throughout the SDLC prevent the primary weaknesses that enable authentication bypass.

PR.AA-03 mostly match
prevents

Strong authentication mechanisms and policy enforcement directly reduce bypass opportunities arising from implementation flaws.

ID.RA-01 partial match
prevents

Identifying and recording vulnerabilities catches the primary weaknesses that allow authentication bypass.

Mitigating Controls (ISO/IEC 27001:2022 Annex A) AI

Derived directly from the weakness types (CWEs) cited in the NVD entry via our AI-authored CWE→ISO cross-walk (authority under review) — links open the control.

detects

Security testing can detect authentication bypass conditions before deployment.

prevents

Secure development lifecycle reduces likelihood of introducing bypass flaws during implementation.

prevents

Secure coding practices help prevent the primary weakness that enables authentication bypass.

mitigates

Information access restriction complements authentication by limiting what can be reached even if bypass occurs.

prevents

Secure authentication mechanisms directly address bypass risks in the implemented authentication process.

Hardening callouts derived

Configuration rules from DISA STIG baselines that reduce the attack surface for weaknesses of the type cited by this CVE. Derived transitively via CVE→CWE→STIG over `controls_xwalks` (authoritative rows only).

Windows 10 (1 rule)
  • V-220812 Credential Guard must be running on Windows 10 domain-joined systems. via CWE-305

References