CVE-2026-1965

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 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).
References
Link Resource
https://curl.se/docs/CVE-2026-1965.html Patch Vendor Advisory
https://curl.se/docs/CVE-2026-1965.json Vendor Advisory
Configurations

Configuration 1 (hide)

cpe:2.3:a:haxx:curl:*:*:*:*:*:*:*:*

History

17 Jun 2026, 10:16

Type Values Removed Values Added
Summary
  • (es) libcurl puede en algunas circunstancias reutilizar la conexión incorrecta cuando se le pide que realice una solicitud HTTP o HTTPS autenticada con Negotiate. libcurl cuenta con un grupo de conexiones recientes para que las solicitudes posteriores puedan reutilizar una conexión existente y evitar la sobrecarga. Al reutilizar una conexión, una serie de criterios deben cumplirse primero. Debido a un error lógico en el código, una solicitud emitida por una aplicación podría reutilizar erróneamente una conexión existente al mismo servidor que fue autenticado usando credenciales diferentes. Una razón subyacente es que Negotiate a veces autentica *conexiones* y no *solicitudes*, al contrario de cómo HTTP está diseñado para funcionar. Una aplicación que permite la autenticación Negotiate a un servidor (que responde queriendo Negotiate) con 'user1:password1' y luego realiza otra operación al mismo servidor también usando Negotiate pero con 'user2:password2' (mientras la conexión anterior sigue activa) - la segunda solicitud reutilizó erróneamente la misma conexión y dado que luego ve que la negociación de Negotiate ya está hecha, simplemente envía la solicitud a través de esa conexión pensando que usa las credenciales de user2 cuando de hecho sigue usando la conexión autenticada para user1... El conjunto de métodos de autenticación a usar se establece con 'CURLOPT_HTTPAUTH'. Las aplicaciones pueden deshabilitar la reutilización de conexiones de libcurl y así mitigar este problema, usando una de las siguientes opciones de libcurl para alterar cómo las conexiones son o no son reutilizadas: 'CURLOPT_FRESH_CONNECT', 'CURLOPT_MAXCONNECTS' y 'CURLMOPT_MAX_HOST_CONNECTIONS' (si se usa la API curl_multi).

12 Mar 2026, 14:11

Type Values Removed Values Added
References () https://curl.se/docs/CVE-2026-1965.html - () https://curl.se/docs/CVE-2026-1965.html - Patch, Vendor Advisory
References () https://curl.se/docs/CVE-2026-1965.json - () https://curl.se/docs/CVE-2026-1965.json - Vendor Advisory
CPE cpe:2.3:a:haxx:curl:*:*:*:*:*:*:*:*
First Time Haxx curl
Haxx

11 Mar 2026, 15:16

Type Values Removed Values Added
CVSS v2 : unknown
v3 : unknown
v2 : unknown
v3 : 6.5
CWE CWE-305

11 Mar 2026, 11:15

Type Values Removed Values Added
New CVE

Information

Published : 2026-03-11 11:15

Updated : 2026-06-17 10:16


NVD link : CVE-2026-1965

Mitre link : CVE-2026-1965

CVE.ORG link : CVE-2026-1965


JSON object : View

Products Affected

haxx

  • curl
CWE
CWE-305

Authentication Bypass by Primary Weakness