Every CVE Search/ Get API key

CVE-2026-1965

bad reuse of HTTP Negotiate connection

6.5 MediumFix available

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

Attack profile

How easy it is to exploit

Attack vector
Network
Complexity
Low
Privileges needed
Low
User interaction
None

What an attacker can affect

Confidentiality
None
Integrity
High
Availability
None

Exploit likelihood

0.27%Up 0.2 points since Mar 11, 2026
90%50%10%1%

What each source reports

CVE List Score used 6.5

bad reuse of HTTP Negotiate connection

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

Record
CVE-2026-1965
CVSS 3.1
6.5 MediumCVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:N
Weakness
CWE-305, CWE-305
Updated
2026-11-02
EUVDEUVD-2026-11135 6.5

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

Record
EUVD-2026-11135
CVSS 3.1
6.5 MediumCVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:N
Updated
2026-11-02
GitHub AdvisoriesGHSA-q9qg-g2c3-3hr2 6.5

libcurl can in some circumstances reuse the wrong connection when asked to do an Negotiate...

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

Record
GHSA-q9qg-g2c3-3hr2
CVSS 3.1
6.5 MediumCVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:N
Weakness
CWE-305
Updated
2026-11-02
NVD 6.5

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

Record
CVE-2026-1965
CVSS 3.1
6.5 MediumCVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:N
Weakness
CWE-305
Updated
2026-11-02
OSVALPINE-CVE-2026-1965 6.5

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

Record
ALPINE-CVE-2026-1965
CVSS 3.1
6.5 MediumCVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:N
Updated
2026-11-02
OSVBELL-CVE-2026-1965 6.5
Record
BELL-CVE-2026-1965
CVSS 3.1
6.5 MediumCVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:N
Updated
2026-11-02
Show 38 moreShow less
OSV 6.5

bad reuse of HTTP Negotiate connection

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

Record
CVE-2026-1965
CVSS 3.1
6.5 MediumCVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:N
Weakness
CWE-305
Updated
2026-11-02
OSVDEBIAN-CVE-2026-1965 6.5

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

Record
DEBIAN-CVE-2026-1965
CVSS 3.1
6.5 MediumCVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:N
Updated
2026-11-02
OSVJLSEC-2026-436 6.5

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

Record
JLSEC-2026-436
CVSS 3.1
6.5 MediumCVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:N
Updated
2026-11-02
OSVOESA-2026-1704 6.5

curl security update

cURL is a computer software project providing a library (libcurl) and command-line tool (curl) for transferring data using various protocols.

Security Fix(es):

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).(CVE-2026-1965)

When an OAuth2 bearer token is used for an HTTP(S) transfer, and that transfer performs a redirect to a second URL, curl could leak that token to the second hostname under some circumstances.

If the hostname that the first request is redirected to has information in the used .netrc file, with either of the machine or default keywords, curl would pass on the bearer token set for the first host also to the second one.(CVE-2026-3783)

curl would wrongly reuse an existing HTTP proxy connection doing CONNECT to a server, even if the new request uses different credentials for the HTTP proxy. The proper behavior is to create or use a separate connection.(CVE-2026-3784)

Record
OESA-2026-1704
CVSS 3.1
6.5 MediumCVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:N
Updated
2026-11-02
OSVRHSA-2026:55439 8.1

Red Hat Security Advisory: curl security update

Record
RHSA-2026:55439
CVSS 3.1
8.1 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:N
Updated
2026-11-02
OSVRHSA-2026:55450 8.1

Red Hat Security Advisory: curl security update

Record
RHSA-2026:55450
CVSS 3.1
8.1 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:N
Updated
2026-11-02
OSVRHSA-2026:6893 8.1

Red Hat Security Advisory: Red Hat Hardened Images RPMs bug fix and enhancement update

Record
RHSA-2026:6893
CVSS 3.1
8.1 HighCVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N
Updated
2026-11-02
OSVRHSA-2026:72506 8.1

Red Hat Security Advisory: curl security update

Record
RHSA-2026:72506
CVSS 3.1
8.1 HighCVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N
Updated
2026-11-02
OSVRHSA-2026:7432 6.8

Red Hat Security Advisory: Red Hat Hardened Images RPMs bug fix and enhancement update

Record
RHSA-2026:7432
CVSS 3.1
6.8 MediumCVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:N
Updated
2026-11-02
OSVRHSA-2026:77255 6.8

Red Hat Security Advisory: Red Hat Hardened Images RPMs bug fix and enhancement update

Record
RHSA-2026:77255
CVSS 3.1
6.8 MediumCVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:N
Updated
2026-11-02
OSVRLSA-2026:55439 8.1

Important: curl security update

The curl packages provide the libcurl library and the curl utility for downloading files from servers using various protocols, including HTTP, FTP, and LDAP.

Security Fix(es):

  • curl: curl: Authentication bypass due to incorrect connection reuse with Negotiate authentication (CVE-2026-1965)

  • curl: curl: Information disclosure via OAuth2 bearer token leakage during HTTP(S) redirect (CVE-2026-3783)

  • curl: curl: Man-in-the-middle attack via SSH host key bypass (CVE-2026-9547)

  • curl: curl: Insecure connection establishment due to TLS configuration mismatch (CVE-2026-8286)

For more details about the security issue(s), including the impact, a CVSS score, acknowledgments, and other related information, refer to the CVE page(s) listed in the References section.

Record
RLSA-2026:55439
CVSS 3.1
8.1 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:N
Updated
2026-11-02
OSVROOT-OS-DEBIAN-11-CVE-2026-1965 6.5

CVE-2026-1965 in curl - Patched by Root

Root has patched CVE-2026-1965 in the curl package for Root:Debian:11. Multiple fixed versions available.

Record
ROOT-OS-DEBIAN-11-CVE-2026-1965
CVSS 3.1
6.5 MediumCVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:N
Updated
2026-11-02
OSVROOT-OS-DEBIAN-12-CVE-2026-1965 6.5

CVE-2026-1965 in curl - Patched by Root

Root has patched CVE-2026-1965 in the curl package for Root:Debian:12. Multiple fixed versions available.

Record
ROOT-OS-DEBIAN-12-CVE-2026-1965
CVSS 3.1
6.5 MediumCVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:N
Updated
2026-11-04
OSVROOT-OS-DEBIAN-13-CVE-2026-1965 6.5

CVE-2026-1965 in rootio-curl - Patched by Root

Root has patched CVE-2026-1965 in the rootio-curl package for Root:Debian:13. Multiple fixed versions available.

Record
ROOT-OS-DEBIAN-13-CVE-2026-1965
CVSS 3.1
6.5 MediumCVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:N
Updated
2026-11-02
OSVUBUNTU-CVE-2026-1965 6.5

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

Record
UBUNTU-CVE-2026-1965
CVSS 3.1
6.5 MediumCVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:N
Updated
2026-11-02
OSVALSA-2026:55439 No score

Important: curl security update

The curl packages provide the libcurl library and the curl utility for downloading files from servers using various protocols, including HTTP, FTP, and LDAP.

Security Fix(es):

  • curl: curl: Authentication bypass due to incorrect connection reuse with Negotiate authentication (CVE-2026-1965)
  • curl: curl: Information disclosure via OAuth2 bearer token leakage during HTTP(S) redirect (CVE-2026-3783)
  • curl: curl: Man-in-the-middle attack via SSH host key bypass (CVE-2026-9547)
  • curl: curl: Insecure connection establishment due to TLS configuration mismatch (CVE-2026-8286)

For more details about the security issue(s), including the impact, a CVSS score, acknowledgments, and other related information, refer to the CVE page(s) listed in the References section.

Record
ALSA-2026:55439
Updated
2026-11-02
OSVAZL-79676 No score

CVE-2026-1965 affecting package curl for versions less than 8.11.1-6

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

Record
AZL-79676
Updated
2026-11-05
OSVCLSA-2026-1774259220 No score

curl: Fix of 3 CVEs

  • CVE-2026-1965: fix incorrect connection reuse; prevent reuse of Negotiate- authenticated connections with different credentials and require authentication identity match
  • CVE-2026-3784: fix wrong proxy connection reuse with different credentials; check proxy user/password in proxy_info_matches to prevent reuse of HTTP proxy CONNECT connections when credentials differ
  • CVE-2026-3783: prevent bearer token leak on HTTP(S) redirect when .netrc contains entries for the redirected host
Record
CLSA-2026-1774259220
Updated
2026-11-02
OSVCLSA-2026-1774259901 No score

curl: Fix of 3 CVEs

  • CVE-2026-1965: fix incorrect connection reuse; prevent reuse of Negotiate- authenticated connections with different credentials and require authentication identity match
  • CVE-2026-3784: fix wrong proxy connection reuse with different credentials; check proxy user/password in proxy_info_matches to prevent reuse of HTTP proxy CONNECT connections when credentials differ
  • CVE-2026-3783: prevent bearer token leak on HTTP(S) redirect when .netrc contains entries for the redirected host
Record
CLSA-2026-1774259901
Updated
2026-11-02
OSVCLSA-2026-1774260216 No score

Fix CVE(s): CVE-2026-1965, CVE-2026-3783, CVE-2026-3784

  • SECURITY UPDATE: reuse of connections using HTTP Negotiate
    • debian/patches/CVE-2026-1965.patch: fix reuse of connections using HTTP Negotiate and fix copy and paste url_match_auth_nego mistake.
    • CVE-2026-1965
  • Bearer token sent without checking auth is allowed
    • debian/patches/CVE-2026-3783.patch: only send bearer if auth is allowed.
    • CVE-2026-3783
  • Proxy credential reuse across different credentials
    • debian/patches/CVE-2026-3784.patch: compare proxy credentials in proxy_info_matches to prevent connection reuse with wrong auth.
    • CVE-2026-3784
Record
CLSA-2026-1774260216
Updated
2026-11-02
OSVCLSA-2026-1774366368 No score

curl: Fix of 3 CVEs

  • CVE-2026-1965: fix incorrect connection reuse; prevent reuse of Negotiate- authenticated connections with different credentials and require authentication identity match
  • CVE-2026-3784: fix wrong proxy connection reuse with different credentials; check proxy user/password in proxy_info_matches to prevent reuse of HTTP proxy CONNECT connections when credentials differ
  • CVE-2026-3783: prevent bearer token leak on HTTP(S) redirect when .netrc contains entries for the redirected host
Record
CLSA-2026-1774366368
Updated
2026-11-02
OSVCURL-CVE-2026-1965 No score

bad reuse of HTTP Negotiate connection

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

Record
CURL-CVE-2026-1965
Updated
2026-11-02
OSVopenSUSE-SU-2026:10371-1 No score

curl-8.19.0-1.1 on GA media

These are all security issues fixed in the curl-8.19.0-1.1 package on the GA media of openSUSE Tumbleweed.

Record
openSUSE-SU-2026:10371-1
Updated
2026-11-02
OSVopenSUSE-SU-2026:20404-1 No score

Security update for curl

This update for curl fixes the following issues:

  • CVE-2026-1965: bad reuse of HTTP Negotiate connection (bsc#1259362).
  • CVE-2026-3783: token leak with redirect and netrc (bsc#1259363).
  • CVE-2026-3784: wrong proxy connection reuse with credentials (bsc#1259364).
  • CVE-2026-3805: use after free in SMB connection reuse (bsc#1259365).
Record
openSUSE-SU-2026:20404-1
Updated
2026-11-02
OSVSUSE-SU-2026:0879-1 No score

Security update for curl

This update for curl fixes the following issues:

  • CVE-2026-1965: bad reuse of HTTP Negotiate connection (bsc#1259362).
  • CVE-2026-3783: token leak with redirect and netrc (bsc#1259363).
  • CVE-2026-3784: wrong proxy connection reuse with credentials (bsc#1259364).
  • CVE-2026-3805: use after free in SMB connection reuse (bsc#1259365).
Record
SUSE-SU-2026:0879-1
Updated
2026-11-02
OSVSUSE-SU-2026:0885-1 No score

Security update for curl

This update for curl fixes the following issues:

  • CVE-2026-1965: bad reuse of HTTP Negotiate connection (bsc#1259362).
  • CVE-2026-3783: token leak with redirect and netrc (bsc#1259363).
  • CVE-2026-3784: wrong proxy connection reuse with credentials (bsc#1259364).
  • CVE-2026-3805: use after free in SMB connection reuse (bsc#1259365).
Record
SUSE-SU-2026:0885-1
Updated
2026-11-02
OSVSUSE-SU-2026:0903-1 No score

Security update for curl

This update for curl fixes the following issues:

  • CVE-2026-1965: bad reuse of HTTP Negotiate connection (bsc#1259362).
  • CVE-2026-3783: token leak with redirect and netrc (bsc#1259363).
  • CVE-2026-3784: wrong proxy connection reuse with credentials (bsc#1259364).
  • CVE-2026-3805: use after free in SMB connection reuse (bsc#1259365).
Record
SUSE-SU-2026:0903-1
Updated
2026-11-02
OSVSUSE-SU-2026:0911-1 No score

Security update for curl

This update for curl fixes the following issues:

  • CVE-2026-1965: bad reuse of HTTP Negotiate connection (bsc#1259362).
  • CVE-2026-3783: token leak with redirect and netrc (bsc#1259363).
  • CVE-2026-3784: wrong proxy connection reuse with credentials (bsc#1259364).
  • CVE-2026-3805: use after free in SMB connection reuse (bsc#1259365).
Record
SUSE-SU-2026:0911-1
Updated
2026-11-02
OSVSUSE-SU-2026:0921-1 No score

Security update for curl

This update for curl fixes the following issues:

  • CVE-2026-1965: bad reuse of HTTP Negotiate connection (bsc#1259362).
  • CVE-2026-3783: token leak with redirect and netrc (bsc#1259363).
  • CVE-2026-3784: wrong proxy connection reuse with credentials (bsc#1259364).
Record
SUSE-SU-2026:0921-1
Updated
2026-11-02
OSVSUSE-SU-2026:1717-1 No score

Security update for curl

This update for curl fixes the following issues:

Security issues fixed:

  • CVE-2026-4873: connection reuse ignores TLS requirement (bsc#1262631).
  • CVE-2026-5545: wrong reuse of HTTP Negotiate connection (bsc#1262632).
  • CVE-2026-6253: proxy credentials leak over redirect-to proxy (bsc#1262635).
  • CVE-2026-6276: stale custom cookie host causes cookie leak (bsc#1262636).
  • CVE-2026-6429: netrc credential leak with reused proxy connection (bsc#1262638).

Other updates and bugfixes:

  • sws: prevent 'connection monitor' to say disconnect twice (bsc#1259362).
Record
SUSE-SU-2026:1717-1
Updated
2026-11-02
OSVSUSE-SU-2026:1940-1 No score

Security update for curl

This update for curl fixes the following issues:

Security issues fixed:

  • CVE-2026-4873: connection reuse ignores TLS requirement (bsc#1262631).
  • CVE-2026-5545: wrong reuse of HTTP Negotiate connection (bsc#1262632).
  • CVE-2026-6253: proxy credentials leak over redirect-to proxy (bsc#1262635).
  • CVE-2026-6276: stale custom cookie host causes cookie leak (bsc#1262636).
  • CVE-2026-6429: netrc credential leak with reused proxy connection (bsc#1262638).

Other updates and bugfixes:

  • sws: prevent 'connection monitor' to say disconnect twice (bsc#1259362).
Record
SUSE-SU-2026:1940-1
Updated
2026-11-02
OSVSUSE-SU-2026:20668-1 No score

Security update for curl

This update for curl fixes the following issues:

  • CVE-2026-1965: bad reuse of HTTP Negotiate connection (bsc#1259362).
  • CVE-2026-3783: token leak with redirect and netrc (bsc#1259363).
  • CVE-2026-3784: wrong proxy connection reuse with credentials (bsc#1259364).
  • CVE-2026-3805: use after free in SMB connection reuse (bsc#1259365).
Record
SUSE-SU-2026:20668-1
Updated
2026-11-02
OSVSUSE-SU-2026:20722-1 No score

Security update for curl

This update for curl fixes the following issues:

  • CVE-2026-1965: bad reuse of HTTP Negotiate connection (bsc#1259362).
  • CVE-2026-3783: token leak with redirect and netrc (bsc#1259363).
  • CVE-2026-3784: wrong proxy connection reuse with credentials (bsc#1259364).
  • CVE-2026-3805: use after free in SMB connection reuse (bsc#1259365).
Record
SUSE-SU-2026:20722-1
Updated
2026-11-02
OSVSUSE-SU-2026:20760-1 No score

Security update for curl

This update for curl fixes the following issues:

  • CVE-2026-1965: bad reuse of HTTP Negotiate connection (bsc#1259362).
  • CVE-2026-3783: token leak with redirect and netrc (bsc#1259363).
  • CVE-2026-3784: wrong proxy connection reuse with credentials (bsc#1259364).
  • CVE-2026-3805: use after free in SMB connection reuse (bsc#1259365).
Record
SUSE-SU-2026:20760-1
Updated
2026-11-02
OSVSUSE-SU-2026:20918-1 No score

Security update for curl

This update for curl fixes the following issues:

  • CVE-2026-1965: bad reuse of HTTP Negotiate connection (bsc#1259362).
  • CVE-2026-3783: token leak with redirect and netrc (bsc#1259363).
  • CVE-2026-3784: wrong proxy connection reuse with credentials (bsc#1259364).
  • CVE-2026-3805: use after free in SMB connection reuse (bsc#1259365).
Record
SUSE-SU-2026:20918-1
Updated
2026-11-02
OSVSUSE-SU-2026:21452-1 No score

Security update for curl

This update for curl fixes the following issues:

Security issues fixed:

  • CVE-2026-4873: connection reuse ignores TLS requirement (bsc#1262631).
  • CVE-2026-5545: wrong reuse of HTTP Negotiate connection (bsc#1262632).
  • CVE-2026-6253: proxy credentials leak over redirect-to proxy (bsc#1262635).
  • CVE-2026-6276: stale custom cookie host causes cookie leak (bsc#1262636).
  • CVE-2026-6429: netrc credential leak with reused proxy connection (bsc#1262638).

Other updates and bugfixes:

  • sws: prevent "connection monitor" to say disconnect twice (bsc#1259362).
Record
SUSE-SU-2026:21452-1
Updated
2026-11-02
OSVUSN-8084-1 No score

curl vulnerabilities

Zhicheng Chen discovered that curl could incorrectly reuse the wrong connection for Negotiate-authenticated HTTP or HTTPS requests. This could result in the use of credentials from a different connection, contrary to expectations. (CVE-2026-1965)

It was discovered that curl incorrectly leaked OAuth2 bearer tokens when following a redirect. This could result in tokens being sent to the wrong host, contrary to expectations. (CVE-2026-3783)

Muhamad Arga Reksapati discovered that curl incorrectly reused existing HTTP proxy connections even if the request used different credentials. This could result in the use of incorrect credentials, contrary to expectations. (CVE-2026-3784)

Daniel Wade discovered that curl incorrectly handled certain memory operations when doing a second SMB request to the same host. An attacker could use this issue to cause curl to crash, resulting in a denial of service, or possibly execute arbitrary code. This issue only affected Ubuntu 25.10. (CVE-2026-3805)

Yihang Zhou discovered that curl incorrectly reused .netrc file credentials when following redirects. This could result in the use of credentials for a different host, contrary to expectations. This issue only affected Ubuntu 22.04 LTS and Ubuntu 24.04 LTS. (CVE-2025-0167)

Record
USN-8084-1
Updated
2026-11-02
OSVUSN-8099-1 No score

curl vulnerabilities

Zhicheng Chen discovered that curl could incorrectly reuse the wrong connection for Negotiate-authenticated HTTP or HTTPS requests. This could result in the use of credentials from a different connection, contrary to expectations. This issue only affected Ubuntu 20.04 LTS. (CVE-2026-1965)

It was discovered that curl incorrectly leaked OAuth2 bearer tokens when following a redirect. This could result in tokens being sent to the wrong host, contrary to expectations. This issue only affected Ubuntu 20.04 LTS. (CVE-2026-3783)

Muhamad Arga Reksapati discovered that curl incorrectly reused existing HTTP proxy connections even if the request used different credentials. This could result in the use of incorrect credentials, contrary to expectations. (CVE-2026-3784)

Record
USN-8099-1
Updated
2026-11-02

Affected products

Affected packages

Affected packages
PackageAffectedFixed
curl
Alpine:v3.23
7.10.6 up to 8.19.0-r0
8.19.0-r0
curl
Alpine:v3.24
7.10.6 up to 8.19.0-r0
8.19.0-r0
curl
AlmaLinux:9
before 7.76.1-40.el9_8.5
7.76.1-40.el9_8.5
curl-minimal
AlmaLinux:9
before 7.76.1-40.el9_8.5
7.76.1-40.el9_8.5
libcurl
AlmaLinux:9
before 7.76.1-40.el9_8.5
7.76.1-40.el9_8.5
libcurl-devel
AlmaLinux:9
before 7.76.1-40.el9_8.5
7.76.1-40.el9_8.5
libcurl-minimal
AlmaLinux:9
before 7.76.1-40.el9_8.5
7.76.1-40.el9_8.5
curl
Azure Linux:3
before 8.11.1-6
8.11.1-6
curl
Alpaquita:25
8.14.0-r1 up to 8.14.1-r4
8.14.1-r4
curl
Alpaquita:stream
8.1.2-r0 up to 8.19.0-r0
8.19.0-r0
Show 117 moreShow less
Affected packages
PackageAffectedFixed
curl
BellSoft Hardened Containers:stream
8.1.2-r0 up to 8.19.0-r0
8.19.0-r0
curl
TuxCare:CentOS:8.4
before 7.61.1-22.el8.tuxcare.els18
7.61.1-22.el8.tuxcare.els18
curl-minimal
TuxCare:CentOS:8.4
before 7.61.1-22.el8.tuxcare.els18
7.61.1-22.el8.tuxcare.els18
libcurl
TuxCare:CentOS:8.4
before 7.61.1-22.el8.tuxcare.els18
7.61.1-22.el8.tuxcare.els18
libcurl-devel
TuxCare:CentOS:8.4
before 7.61.1-22.el8.tuxcare.els18
7.61.1-22.el8.tuxcare.els18
libcurl-minimal
TuxCare:CentOS:8.4
before 7.61.1-22.el8.tuxcare.els18
7.61.1-22.el8.tuxcare.els18
curl
TuxCare:CentOS:8.5
before 7.61.1-22.el8.tuxcare.els18
7.61.1-22.el8.tuxcare.els18
curl-minimal
TuxCare:CentOS:8.5
before 7.61.1-22.el8.tuxcare.els18
7.61.1-22.el8.tuxcare.els18
libcurl
TuxCare:CentOS:8.5
before 7.61.1-22.el8.tuxcare.els18
7.61.1-22.el8.tuxcare.els18
libcurl-devel
TuxCare:CentOS:8.5
before 7.61.1-22.el8.tuxcare.els18
7.61.1-22.el8.tuxcare.els18
libcurl-minimal
TuxCare:CentOS:8.5
before 7.61.1-22.el8.tuxcare.els18
7.61.1-22.el8.tuxcare.els18
curl
TuxCare:Debian:10
before 7.64.0-4+deb10u9+tuxcare.els3
7.64.0-4+deb10u9+tuxcare.els3
libcurl3-gnutls
TuxCare:Debian:10
before 7.64.0-4+deb10u9+tuxcare.els3
7.64.0-4+deb10u9+tuxcare.els3
libcurl3-nss
TuxCare:Debian:10
before 7.64.0-4+deb10u9+tuxcare.els3
7.64.0-4+deb10u9+tuxcare.els3
libcurl4
TuxCare:Debian:10
before 7.64.0-4+deb10u9+tuxcare.els3
7.64.0-4+deb10u9+tuxcare.els3
libcurl4-doc
TuxCare:Debian:10
before 7.64.0-4+deb10u9+tuxcare.els3
7.64.0-4+deb10u9+tuxcare.els3
libcurl4-gnutls-dev
TuxCare:Debian:10
before 7.64.0-4+deb10u9+tuxcare.els3
7.64.0-4+deb10u9+tuxcare.els3
libcurl4-nss-dev
TuxCare:Debian:10
before 7.64.0-4+deb10u9+tuxcare.els3
7.64.0-4+deb10u9+tuxcare.els3
libcurl4-openssl-dev
TuxCare:Debian:10
before 7.64.0-4+deb10u9+tuxcare.els3
7.64.0-4+deb10u9+tuxcare.els3
curl
TuxCare:CentOS-Stream:8
before 7.61.1-34.el8.tuxcare.els6
7.61.1-34.el8.tuxcare.els6
curl-minimal
TuxCare:CentOS-Stream:8
before 7.61.1-34.el8.tuxcare.els6
7.61.1-34.el8.tuxcare.els6
libcurl
TuxCare:CentOS-Stream:8
before 7.61.1-34.el8.tuxcare.els6
7.61.1-34.el8.tuxcare.els6
libcurl-devel
TuxCare:CentOS-Stream:8
before 7.61.1-34.el8.tuxcare.els6
7.61.1-34.el8.tuxcare.els6
libcurl-minimal
TuxCare:CentOS-Stream:8
before 7.61.1-34.el8.tuxcare.els6
7.61.1-34.el8.tuxcare.els6
curl
Debian:12
All versions, plus listed versions
7.88.1-107.88.1-10+deb12u17.88.1-10+deb12u117.88.1-10+deb12u127.88.1-10+deb12u13
Show 45 moreShow less
7.88.1-10+deb12u147.88.1-10+deb12u157.88.1-10+deb12u1~bpo11+17.88.1-10+deb12u27.88.1-10+deb12u37.88.1-10+deb12u3~bpo11+17.88.1-10+deb12u47.88.1-10+deb12u57.88.1-10+deb12u5~bpo11+17.88.1-10+deb12u67.88.1-10+deb12u6~bpo11+17.88.1-10+deb12u77.88.1-10+deb12u87.88.1-10+deb12u97.88.1-118.0.1-1~exp18.10.0-18.10.0-28.10.1-18.10.1-1~bpo12+18.10.1-28.11.0-18.11.1-18.11.1-1~bpo12+18.12.0+git20250209.89ed161+ds-18.12.0+git20250209.89ed161+ds-1~bpo12+18.12.1-18.12.1-28.12.1-2~bpo12+18.12.1-38.12.1-3~bpo12+18.13.0-18.13.0-1+exp18.13.0-28.13.0-2+exp18.13.0-38.13.0-48.13.0-4+exp18.13.0-58.13.0-5+exp18.13.0-5~bpo12+18.13.0~rc-1~exp18.13.0~rc-1~exp28.13.0~rc2-18.13.0~rc2-2
None known
curl
Debian:13
before 8.14.1-2+deb13u4, plus listed versions
8.14.1-28.14.1-2+deb13u18.14.1-2+deb13u28.14.1-2+deb13u2~bpo13+18.14.1-2+deb13u3
8.14.1-2+deb13u4
curl
Debian:14
before 8.19.0~rc3-1, plus listed versions
8.14.1-28.14.1-2+exp18.15.0-18.15.0-1~bpo13+18.15.0-1~exp1
Show 29 moreShow less
8.15.0~rc1-1exp18.15.0~rc2-1~exp18.15.0~rc3-1~exp18.16.0-18.16.0-1+exp18.16.0-1~bpo13+18.16.0-28.16.0-38.16.0-48.16.0-4~bpo13+18.16.0~rc1-1~exp18.16.0~rc2-18.16.0~rc2-28.16.0~rc3-18.17.0-18.17.0-28.17.0-38.17.0~rc1-1~exp18.17.0~rc2-18.17.0~rc3-18.18.0-18.18.0-1~bpo13+18.18.0-28.18.0~rc1-1+exp18.18.0~rc2-18.18.0~rc3-18.19.0~rc1-1~exp18.19.0~rc2-18.19.0~rc2-2
8.19.0~rc3-1
CURL_jll
Julia
before 8.20.0+0
8.20.0+0
LibCURL_jll
Julia
before 8.19.0+0
8.19.0+0
curl
openEuler:20.03-LTS-SP4
before 7.71.1-47.oe2003sp4
7.71.1-47.oe2003sp4
curl
openEuler:22.03-LTS-SP4
before 7.79.1-48.oe2203sp4
7.79.1-48.oe2203sp4
curl
openEuler:24.03-LTS
before 8.4.0-28.oe2403sp3
8.4.0-28.oe2403sp3
curl
openEuler:24.03-LTS-SP1
before 8.4.0-28.oe2403sp1
8.4.0-28.oe2403sp1
curl
openEuler:24.03-LTS-SP2
before 8.4.0-28.oe2403sp2
8.4.0-28.oe2403sp2
curl
openEuler:24.03-LTS-SP3
before 8.4.0-28.oe2403sp3
8.4.0-28.oe2403sp3
curl-debuginfo
Red Hat:enterprise_linux:9::appstream
before 0:7.76.1-40.el9_8.5
0:7.76.1-40.el9_8.5
curl-debugsource
Red Hat:enterprise_linux:9::appstream
before 0:7.76.1-40.el9_8.5
0:7.76.1-40.el9_8.5
curl-minimal-debuginfo
Red Hat:enterprise_linux:9::appstream
before 0:7.76.1-40.el9_8.5
0:7.76.1-40.el9_8.5
libcurl-debuginfo
Red Hat:enterprise_linux:9::appstream
before 0:7.76.1-40.el9_8.5
0:7.76.1-40.el9_8.5
libcurl-devel
Red Hat:enterprise_linux:9::appstream
before 0:7.76.1-40.el9_8.5
0:7.76.1-40.el9_8.5
libcurl-minimal-debuginfo
Red Hat:enterprise_linux:9::appstream
before 0:7.76.1-40.el9_8.5
0:7.76.1-40.el9_8.5
curl
Red Hat:enterprise_linux:9::baseos
before 0:7.76.1-40.el9_8.5
0:7.76.1-40.el9_8.5
curl-debuginfo
Red Hat:enterprise_linux:9::baseos
before 0:7.76.1-40.el9_8.5
0:7.76.1-40.el9_8.5
curl-debugsource
Red Hat:enterprise_linux:9::baseos
before 0:7.76.1-40.el9_8.5
0:7.76.1-40.el9_8.5
curl-minimal
Red Hat:enterprise_linux:9::baseos
before 0:7.76.1-40.el9_8.5
0:7.76.1-40.el9_8.5
curl-minimal-debuginfo
Red Hat:enterprise_linux:9::baseos
before 0:7.76.1-40.el9_8.5
0:7.76.1-40.el9_8.5
libcurl
Red Hat:enterprise_linux:9::baseos
before 0:7.76.1-40.el9_8.5
0:7.76.1-40.el9_8.5
libcurl-debuginfo
Red Hat:enterprise_linux:9::baseos
before 0:7.76.1-40.el9_8.5
0:7.76.1-40.el9_8.5
libcurl-minimal
Red Hat:enterprise_linux:9::baseos
before 0:7.76.1-40.el9_8.5
0:7.76.1-40.el9_8.5
libcurl-minimal-debuginfo
Red Hat:enterprise_linux:9::baseos
before 0:7.76.1-40.el9_8.5
0:7.76.1-40.el9_8.5
curl-debuginfo
Red Hat:enterprise_linux:10.2
before 0:8.12.1-4.el10_2.3
0:8.12.1-4.el10_2.3
curl-debugsource
Red Hat:enterprise_linux:10.2
before 0:8.12.1-4.el10_2.3
0:8.12.1-4.el10_2.3
libcurl-debuginfo
Red Hat:enterprise_linux:10.2
before 0:8.12.1-4.el10_2.3
0:8.12.1-4.el10_2.3
libcurl-devel
Red Hat:enterprise_linux:10.2
before 0:8.12.1-4.el10_2.3
0:8.12.1-4.el10_2.3
libcurl-minimal-debuginfo
Red Hat:enterprise_linux:10.2
before 0:8.12.1-4.el10_2.3
0:8.12.1-4.el10_2.3
curl
Red Hat:enterprise_linux:10.2
before 0:8.12.1-4.el10_2.3
0:8.12.1-4.el10_2.3
libcurl
Red Hat:enterprise_linux:10.2
before 0:8.12.1-4.el10_2.3
0:8.12.1-4.el10_2.3
libcurl-minimal
Red Hat:enterprise_linux:10.2
before 0:8.12.1-4.el10_2.3
0:8.12.1-4.el10_2.3
curl
Red Hat:hummingbird:1
before 0:8.19.0-3.hum1
0:8.19.0-3.hum1
libcurl
Red Hat:hummingbird:1
before 0:8.19.0-3.hum1
0:8.19.0-3.hum1
libcurl-devel
Red Hat:hummingbird:1
before 0:8.19.0-3.hum1
0:8.19.0-3.hum1
libcurl-minimal
Red Hat:hummingbird:1
before 0:8.19.0-3.hum1
0:8.19.0-3.hum1
curl-debuginfo
Red Hat:enterprise_linux_eus:10.0
before 0:8.12.1-1.el10_0.10
0:8.12.1-1.el10_0.10
curl-debugsource
Red Hat:enterprise_linux_eus:10.0
before 0:8.12.1-1.el10_0.10
0:8.12.1-1.el10_0.10
libcurl-debuginfo
Red Hat:enterprise_linux_eus:10.0
before 0:8.12.1-1.el10_0.10
0:8.12.1-1.el10_0.10
libcurl-devel
Red Hat:enterprise_linux_eus:10.0
before 0:8.12.1-1.el10_0.10
0:8.12.1-1.el10_0.10
libcurl-minimal-debuginfo
Red Hat:enterprise_linux_eus:10.0
before 0:8.12.1-1.el10_0.10
0:8.12.1-1.el10_0.10
curl
Red Hat:enterprise_linux_eus:10.0
before 0:8.12.1-1.el10_0.10
0:8.12.1-1.el10_0.10
libcurl
Red Hat:enterprise_linux_eus:10.0
before 0:8.12.1-1.el10_0.10
0:8.12.1-1.el10_0.10
libcurl-minimal
Red Hat:enterprise_linux_eus:10.0
before 0:8.12.1-1.el10_0.10
0:8.12.1-1.el10_0.10
curl
Red Hat:hummingbird:1
before 0:8.19.0-3.1.hum1
0:8.19.0-3.1.hum1
libcurl
Red Hat:hummingbird:1
before 0:8.19.0-3.1.hum1
0:8.19.0-3.1.hum1
libcurl-devel
Red Hat:hummingbird:1
before 0:8.19.0-3.1.hum1
0:8.19.0-3.1.hum1
libcurl-minimal
Red Hat:hummingbird:1
before 0:8.19.0-3.1.hum1
0:8.19.0-3.1.hum1
curl
Red Hat:hummingbird:1
before 0:8.22.0-1.1.hum1
0:8.22.0-1.1.hum1
libcurl
Red Hat:hummingbird:1
before 0:8.22.0-1.1.hum1
0:8.22.0-1.1.hum1
libcurl-devel
Red Hat:hummingbird:1
before 0:8.22.0-1.1.hum1
0:8.22.0-1.1.hum1
libcurl-minimal
Red Hat:hummingbird:1
before 0:8.22.0-1.1.hum1
0:8.22.0-1.1.hum1
curl
Rocky Linux:9
before 0:7.76.1-40.el9_8.5
0:7.76.1-40.el9_8.5
curl
Root:Debian:11
before 7.74.0-1.3+deb11u16.aikido.18
7.74.0-1.3+deb11u16.aikido.187.74.0-1.3+deb11u16.aikido.197.74.0-1.3+deb11u16.root.io.177.74.0-1.3+deb11u16.root.io.157.74.0-1.3+deb11u16.root.io.167.74.0-1.3+deb11u16.root.io.14
rootio-curl
Root:Debian:11
before 7.74.0-1.3+deb11u16.aikido.18
7.74.0-1.3+deb11u16.aikido.187.74.0-1.3+deb11u16.aikido.197.74.0-1.3+deb11u16.root.io.177.74.0-1.3+deb11u16.root.io.157.74.0-1.3+deb11u16.root.io.167.74.0-1.3+deb11u16.root.io.14
curl
Root:Debian:12
before 7.88.1-10+deb12u14.root.io.11
7.88.1-10+deb12u14.root.io.117.88.1-10+deb12u14.root.io.107.88.1-10+deb12u15.aikido.137.88.1-10+deb12u15.aikido.147.88.1-10+deb12u15.aikido.157.88.1-10+deb12u15.aikido.167.88.1-10+deb12u15.aikido.177.88.1-10+deb12u15.aikido.187.88.1-10+deb12u15.aikido.197.88.1-10+deb12u15.aikido.20
rootio-curl
Root:Debian:12
before 7.88.1-10+deb12u14.root.io.11
7.88.1-10+deb12u14.root.io.117.88.1-10+deb12u14.root.io.107.88.1-10+deb12u15.aikido.137.88.1-10+deb12u15.aikido.147.88.1-10+deb12u15.aikido.157.88.1-10+deb12u15.aikido.167.88.1-10+deb12u15.aikido.177.88.1-10+deb12u15.aikido.187.88.1-10+deb12u15.aikido.197.88.1-10+deb12u15.aikido.20
curl
SUSE:Linux Enterprise Micro 5.2
before 8.14.1-150200.4.103.1
8.14.1-150200.4.103.1
curl
SUSE:Linux Enterprise Server 15 SP6-LTSS
before 8.14.1-150600.4.40.1
8.14.1-150600.4.40.1
curl
SUSE:Linux Enterprise Server for SAP Applications 15 SP6
before 8.14.1-150600.4.40.1
8.14.1-150600.4.40.1
curl
openSUSE:Leap 15.6
before 8.14.1-150600.4.40.1
8.14.1-150600.4.40.1
curl
SUSE:Linux Enterprise Module for Basesystem 15 SP7
before 8.14.1-150700.7.14.1
8.14.1-150700.7.14.1
curl
SUSE:Linux Enterprise Installer Updates 15 SP4
before 8.14.1-150400.5.80.1
8.14.1-150400.5.80.1
curl
SUSE:Linux Enterprise Installer Updates 15 SP5
before 8.14.1-150400.5.80.1
8.14.1-150400.5.80.1
curl
SUSE:Linux Enterprise Micro 5.3
before 8.14.1-150400.5.80.1
8.14.1-150400.5.80.1
curl
SUSE:Linux Enterprise Micro 5.4
before 8.14.1-150400.5.80.1
8.14.1-150400.5.80.1
curl
SUSE:Linux Enterprise Micro 5.5
before 8.14.1-150400.5.80.1
8.14.1-150400.5.80.1
curl
SUSE:Linux Enterprise High Performance Computing 15 SP4-ESPOS
before 8.14.1-150400.5.80.1
8.14.1-150400.5.80.1
curl
SUSE:Linux Enterprise High Performance Computing 15 SP4-LTSS
before 8.14.1-150400.5.80.1
8.14.1-150400.5.80.1
curl
SUSE:Linux Enterprise High Performance Computing 15 SP5-ESPOS
before 8.14.1-150400.5.80.1
8.14.1-150400.5.80.1
curl
SUSE:Linux Enterprise High Performance Computing 15 SP5-LTSS
before 8.14.1-150400.5.80.1
8.14.1-150400.5.80.1
curl
SUSE:Linux Enterprise Server 15 SP4-LTSS
before 8.14.1-150400.5.80.1
8.14.1-150400.5.80.1
curl
SUSE:Linux Enterprise Server 15 SP5-LTSS
before 8.14.1-150400.5.80.1
8.14.1-150400.5.80.1
curl
SUSE:Linux Enterprise Server 12 SP5-LTSS
before 8.0.1-11.120.1
8.0.1-11.120.1
curl
SUSE:Linux Enterprise Server LTSS Extended Security 12 SP5
before 8.0.1-11.120.1
8.0.1-11.120.1
curl
SUSE:Linux Micro 6.1
before 8.14.1-slfo.1.1_6.1
8.14.1-slfo.1.1_6.1
curl
SUSE:Linux Micro 6.0
before 8.14.1-5.1
8.14.1-5.1
curl
SUSE:Linux Micro 6.2
before 8.14.1-160000.5.1
8.14.1-160000.5.1
curl
SUSE:Linux Enterprise Server 16.0
before 8.14.1-160000.5.1
8.14.1-160000.5.1
curl-mini
SUSE:Linux Enterprise Server 16.0
before 8.14.1-160000.5.1
8.14.1-160000.5.1
curl
SUSE:Linux Enterprise Server for SAP applications 16.0
before 8.14.1-160000.5.1
8.14.1-160000.5.1
curl-mini
SUSE:Linux Enterprise Server for SAP applications 16.0
before 8.14.1-160000.5.1
8.14.1-160000.5.1
curl
Ubuntu:Pro:20.04:LTS
before 7.68.0-1ubuntu2.25+esm3, plus listed versions
7.65.3-1ubuntu37.65.3-1ubuntu47.66.0-1ubuntu17.67.0-2ubuntu17.68.0-1ubuntu1
Show 23 moreShow less
7.68.0-1ubuntu27.68.0-1ubuntu2.17.68.0-1ubuntu2.27.68.0-1ubuntu2.47.68.0-1ubuntu2.57.68.0-1ubuntu2.67.68.0-1ubuntu2.77.68.0-1ubuntu2.107.68.0-1ubuntu2.117.68.0-1ubuntu2.127.68.0-1ubuntu2.137.68.0-1ubuntu2.147.68.0-1ubuntu2.157.68.0-1ubuntu2.167.68.0-1ubuntu2.187.68.0-1ubuntu2.197.68.0-1ubuntu2.207.68.0-1ubuntu2.217.68.0-1ubuntu2.227.68.0-1ubuntu2.237.68.0-1ubuntu2.247.68.0-1ubuntu2.257.68.0-1ubuntu2.25+esm2
7.68.0-1ubuntu2.25+esm3
curl
Ubuntu:22.04:LTS
before 7.81.0-1ubuntu1.23, plus listed versions
7.74.0-1.3ubuntu27.74.0-1.3ubuntu37.80.0-37.81.0-17.81.0-1ubuntu1.1
Show 18 moreShow less
7.81.0-1ubuntu1.27.81.0-1ubuntu1.37.81.0-1ubuntu1.47.81.0-1ubuntu1.67.81.0-1ubuntu1.77.81.0-1ubuntu1.87.81.0-1ubuntu1.107.81.0-1ubuntu1.117.81.0-1ubuntu1.137.81.0-1ubuntu1.147.81.0-1ubuntu1.157.81.0-1ubuntu1.167.81.0-1ubuntu1.177.81.0-1ubuntu1.187.81.0-1ubuntu1.197.81.0-1ubuntu1.207.81.0-1ubuntu1.217.81.0-1ubuntu1.22
7.81.0-1ubuntu1.23
curl
Ubuntu:24.04:LTS
before 8.5.0-2ubuntu10.8, plus listed versions
8.2.1-1ubuntu38.2.1-1ubuntu3.18.4.0-2ubuntu18.5.0-2ubuntu18.5.0-2ubuntu2
Show 10 moreShow less
8.5.0-2ubuntu88.5.0-2ubuntu98.5.0-2ubuntu108.5.0-2ubuntu10.18.5.0-2ubuntu10.28.5.0-2ubuntu10.38.5.0-2ubuntu10.48.5.0-2ubuntu10.58.5.0-2ubuntu10.68.5.0-2ubuntu10.7
8.5.0-2ubuntu10.8
curl
Ubuntu:25.10
before 8.14.1-2ubuntu1.2, plus listed versions
8.12.1-3ubuntu18.13.0-5ubuntu18.14.1-1ubuntu28.14.1-1ubuntu38.14.1-2ubuntu18.14.1-2ubuntu1.1
8.14.1-2ubuntu1.2
curl
Ubuntu:26.10
before 8.18.0-1ubuntu2
8.18.0-1ubuntu2
curl
Ubuntu:26.04:LTS
before 8.18.0-1ubuntu2, plus listed versions
8.14.1-2ubuntu18.17.0-1ubuntu18.18.0-1ubuntu1
8.18.0-1ubuntu2
curl
Ubuntu:Pro:18.04:LTS
before 7.58.0-2ubuntu3.24+esm8, plus listed versions
7.55.1-1ubuntu27.55.1-1ubuntu2.17.57.0-1ubuntu17.58.0-2ubuntu17.58.0-2ubuntu2
Show 29 moreShow less
7.58.0-2ubuntu37.58.0-2ubuntu3.17.58.0-2ubuntu3.27.58.0-2ubuntu3.37.58.0-2ubuntu3.57.58.0-2ubuntu3.67.58.0-2ubuntu3.77.58.0-2ubuntu3.87.58.0-2ubuntu3.97.58.0-2ubuntu3.107.58.0-2ubuntu3.127.58.0-2ubuntu3.137.58.0-2ubuntu3.147.58.0-2ubuntu3.157.58.0-2ubuntu3.167.58.0-2ubuntu3.177.58.0-2ubuntu3.187.58.0-2ubuntu3.197.58.0-2ubuntu3.207.58.0-2ubuntu3.217.58.0-2ubuntu3.227.58.0-2ubuntu3.237.58.0-2ubuntu3.247.58.0-2ubuntu3.24+esm17.58.0-2ubuntu3.24+esm27.58.0-2ubuntu3.24+esm37.58.0-2ubuntu3.24+esm47.58.0-2ubuntu3.24+esm57.58.0-2ubuntu3.24+esm7
7.58.0-2ubuntu3.24+esm8
curl
openSUSE:Tumbleweed
before 8.19.0-1.1
8.19.0-1.1
curl
openSUSE:Leap 16.0
before 8.14.1-160000.5.1
8.14.1-160000.5.1

History

History
RecordedChangedSources
affected, factsOSV
affectedOSV
affected
first indexedCVE List, EUVD, GitHub Advisories, NVD, OSV

Dates are when Every CVE recorded each change. Upstream dates may differ.

In short

CVE-2026-1965 is a medium vulnerability (CVSS 6.5) in Curl, published March 11, 2026. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.27%, the 19th percentile. Fixed in curl 8.19.0-r0.

References

Show 194 moreShow less
This page doesn't list everything

Left out here: 134 versions and 19 references. The JSON record has them.

MoveEnter Open