Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
42 changes: 42 additions & 0 deletions SPECS/curl/CVE-2026-5545.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
From 33e43985b8f3b9e66691d06e70be0395849856cd Mon Sep 17 00:00:00 2001
From: Stefan Eissing <stefan@eissing.org>
Date: Thu, 2 Apr 2026 11:33:39 +0200
Subject: [PATCH] url: improve connection reuse on negotiate

Check state of negotiate to allow proper connection reuse.

Closes #21203
Upstream Patch Reference: https://github.com/curl/curl/commit/33e43985b8f3b9e66691d06e70be0395849856cd.patch
https://launchpadlibrarian.net/859770351/curl_8.14.1-2ubuntu1.2_8.14.1-2ubuntu1.3.diff.gz
---
lib/url.c | 12 +++++++++---
1 file changed, 9 insertions(+), 3 deletions(-)

diff --git a/lib/url.c b/lib/url.c
index 6ea7b30..984b8db 100644
--- a/lib/url.c
+++ b/lib/url.c
@@ -1166,11 +1166,17 @@ static bool url_match_conn(struct connectdata *conn, void *userdata)
if(match->want_ntlm_http) {
if(Curl_timestrcmp(needle->user, conn->user) ||
Curl_timestrcmp(needle->passwd, conn->passwd)) {
-
/* we prefer a credential match, but this is at least a connection
- that can be reused and "upgraded" to NTLM */
- if(conn->http_ntlm_state == NTLMSTATE_NONE)
+ that can be reused and "upgraded" to NTLM if it does
+ not have any auth ongoing. */
+#ifdef USE_SPNEGO
+ if((conn->http_ntlm_state == NTLMSTATE_NONE)
+ && (conn->http_negotiate_state == GSS_AUTHNONE)) {
+#else
+ if(conn->http_ntlm_state == NTLMSTATE_NONE) {
+#endif
match->found = conn;
+ }
return FALSE;
}
}
--
2.45.4

Loading
Loading