Skip to content
OpenAdvisories
Medium · 6.5 CVE-2026-1965 EUVD-2026-11135

bad reuse of HTTP Negotiate connection

Published Mar 11, 2026 · Updated Sep 15, 2026 · Assigned by curl

Description

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 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).

Affected products

VendorProductAffectedFixed
curl curl 7.10.6 – < 8.14.2, 8.15.0 – < 8.16.1, 8.17.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, 8.11.1, 8.11.0, 8.10.1, 8.10.0, 8.9.1, 8.9.0, 8.8.0, 8.7.1, 8.7.0, 8.6.0, 8.5.0, 8.4.0, 8.3.0, 8.2.1, 8.2.0, 8.1.2, 8.1.1, 8.1.0, 8.0.1, 8.0.0, 7.88.1, 7.88.0, 7.87.0, 7.… 8.14.2

Fixed in Linux distributions

Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.

ReleasePackageFixed inAdvisory
Debian 14 curl 8.19.0~rc3-1 —
Debian 13 curl 8.14.1-2+deb13u4 —
Debian 12 curl No fix yet —
ReleasePackageFixed inAdvisory
Ubuntu 26.10 curl 8.18.0-1ubuntu2 —
Ubuntu 26.04 LTS curl 8.18.0-1ubuntu2 —
Ubuntu 25.10 curl 8.14.1-2ubuntu1.2 USN-8084-1
Ubuntu 24.04 LTS curl 8.5.0-2ubuntu10.8 USN-8084-1
Ubuntu 22.04 LTS curl 7.81.0-1ubuntu1.23 USN-8084-1
Show 2 more (older releases, extended support, other products)
ReleasePackageFixed inAdvisory
Ubuntu Pro 20.04 LTS curl 7.68.0-1ubuntu2.25+esm3 USN-8099-1
Ubuntu Pro 18.04 LTS curl 7.58.0-2ubuntu3.24+esm8 USN-8099-1
ReleasePackageFixed inAdvisory
RHEL 10 curl +3 8.12.1-4.el10_2.3 RHSA-2026:55450
RHEL 9 curl +4 7.76.1-40.el9_8.5 RHSA-2026:55439
Show 2 more (older releases, extended support, other products)
ReleasePackageFixed inAdvisory
RHEL 10.0 EUS curl +3 8.12.1-1.el10_0.10 RHSA-2026:72506
Red Hat Hardened Images 1 curl +3 8.19.0-3.hum1 RHSA-2026:77255, RHSA-2026:7432, RHSA-2026:6893

AlmaLinux

Errata ↗
ReleasePackageFixed inAdvisory
AlmaLinux 9 curl +4 7.76.1-40.el9_8.5 ALSA-2026:55439

Rocky Linux

Errata ↗
ReleasePackageFixed inAdvisory
Rocky Linux 9 curl 7.76.1-40.el9_8.5 RLSA-2026:55439
ReleasePackageFixed inAdvisory
SLES 15 SP7 curl 8.14.1-150700.7.14.1 SUSE-SU-2026:0903-1
SLES 15 SP6 curl 8.14.1-150600.4.40.1 SUSE-SU-2026:0885-1
SLES 15 SP5 curl 8.14.1-150400.5.80.1 SUSE-SU-2026:0911-1
SLES 15 SP4 curl 8.14.1-150400.5.80.1 SUSE-SU-2026:0911-1
SLES 12 SP5 curl 8.0.1-11.120.1 SUSE-SU-2026:0921-1
Show 14 more (older releases, extended support, other products)
ReleasePackageFixed inAdvisory
SLES for SAP 16.0 curl +1 8.14.1-160000.5.1 SUSE-SU-2026:20918-1
SLES for SAP 15 SP6 curl 8.14.1-150600.4.40.1 SUSE-SU-2026:0885-1
SLES 16.0 curl +1 8.14.1-160000.5.1 SUSE-SU-2026:20918-1
SLE Micro 6.2 curl 8.14.1-160000.5.1 SUSE-SU-2026:20760-1
SLE Micro 6.1 curl 8.14.1-slfo.1.1_6.1 SUSE-SU-2026:20668-1
SLE Micro 6.0 curl 8.14.1-5.1 SUSE-SU-2026:20722-1
SLE Micro 5.5 curl 8.14.1-150400.5.80.1 SUSE-SU-2026:0911-1
SLE Micro 5.4 curl 8.14.1-150400.5.80.1 SUSE-SU-2026:0911-1
SLE Micro 5.3 curl 8.14.1-150400.5.80.1 SUSE-SU-2026:0911-1
SLE Micro 5.2 curl 8.14.1-150200.4.103.1 SUSE-SU-2026:0879-1
SLE HPC 15 SP5 curl 8.14.1-150400.5.80.1 SUSE-SU-2026:0911-1
SLE HPC 15 SP4 curl 8.14.1-150400.5.80.1 SUSE-SU-2026:0911-1
SUSE Linux Enterprise Installer Updates 15 SP5 curl 8.14.1-150400.5.80.1 SUSE-SU-2026:0911-1
SUSE Linux Enterprise Installer Updates 15 SP4 curl 8.14.1-150400.5.80.1 SUSE-SU-2026:0911-1
ReleasePackageFixed inAdvisory
openSUSE Tumbleweed curl 8.19.0-1.1 openSUSE-SU-2026:10371-1
openSUSE Leap 16.0 curl 8.14.1-160000.5.1 openSUSE-SU-2026:20404-1
openSUSE Leap 15.6 curl 8.14.1-150600.4.40.1 SUSE-SU-2026:0885-1
ReleasePackageFixed inAdvisory
Alpine v3.24 curl 8.19.0-r0 —
Alpine v3.23 curl 8.19.0-r0 —
Alpine v3.22 curl 8.14.1-r4 —
Alpine v3.21 curl 8.14.1-r3 —

Azure Linux

ReleasePackageFixed inAdvisory
Azure Linux 3 curl 8.11.1-6 —

Oracle Linux

ReleasePackageFixed inAdvisory
Oracle Linux 10 curl +3 8.12.1-4.el10_2.4 ELSA-2026-55450
Oracle Linux 9 curl +4 7.76.1-40.el9_8.5 ELSA-2026-55439

Advisories 25

References