Skip to content

Commit e278988

Browse files
authored
1 parent 5b75326 commit e278988

8 files changed

Lines changed: 900 additions & 15 deletions

File tree

SPECS/curl/CVE-2026-5545.patch

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
From 33e43985b8f3b9e66691d06e70be0395849856cd Mon Sep 17 00:00:00 2001
2+
From: Stefan Eissing <stefan@eissing.org>
3+
Date: Thu, 2 Apr 2026 11:33:39 +0200
4+
Subject: [PATCH] url: improve connection reuse on negotiate
5+
6+
Check state of negotiate to allow proper connection reuse.
7+
8+
Closes #21203
9+
Upstream Patch Reference: https://github.com/curl/curl/commit/33e43985b8f3b9e66691d06e70be0395849856cd.patch
10+
https://launchpadlibrarian.net/859770351/curl_8.14.1-2ubuntu1.2_8.14.1-2ubuntu1.3.diff.gz
11+
---
12+
lib/url.c | 12 +++++++++---
13+
1 file changed, 9 insertions(+), 3 deletions(-)
14+
15+
diff --git a/lib/url.c b/lib/url.c
16+
index 6ea7b30..984b8db 100644
17+
--- a/lib/url.c
18+
+++ b/lib/url.c
19+
@@ -1166,11 +1166,17 @@ static bool url_match_conn(struct connectdata *conn, void *userdata)
20+
if(match->want_ntlm_http) {
21+
if(Curl_timestrcmp(needle->user, conn->user) ||
22+
Curl_timestrcmp(needle->passwd, conn->passwd)) {
23+
-
24+
/* we prefer a credential match, but this is at least a connection
25+
- that can be reused and "upgraded" to NTLM */
26+
- if(conn->http_ntlm_state == NTLMSTATE_NONE)
27+
+ that can be reused and "upgraded" to NTLM if it does
28+
+ not have any auth ongoing. */
29+
+#ifdef USE_SPNEGO
30+
+ if((conn->http_ntlm_state == NTLMSTATE_NONE)
31+
+ && (conn->http_negotiate_state == GSS_AUTHNONE)) {
32+
+#else
33+
+ if(conn->http_ntlm_state == NTLMSTATE_NONE) {
34+
+#endif
35+
match->found = conn;
36+
+ }
37+
return FALSE;
38+
}
39+
}
40+
--
41+
2.45.4
42+

0 commit comments

Comments
 (0)