mirror of
https://git.yoctoproject.org/poky
synced 2026-05-07 16:59:22 +00:00
curl: patch CVE-2026-3784
pick patch from ubuntu per [1] [1] http://archive.ubuntu.com/ubuntu/pool/main/c/curl/curl_8.5.0-2ubuntu10.8.debian.tar.xz [2] https://ubuntu.com/security/CVE-2026-3784 [3] https://curl.se/docs/CVE-2026-3784.html (From OE-Core rev: 1142953d395cd8de187fbd0dc8c143b953c42612) Signed-off-by: Vijay Anusuri <vanusuri@mvista.com> Signed-off-by: Yoann Congal <yoann.congal@smile.fr> Signed-off-by: Paul Barker <paul@pbarker.dev>
This commit is contained in:
committed by
Paul Barker
parent
28794dd766
commit
f0cfa52ebc
@@ -0,0 +1,77 @@
|
|||||||
|
From 5f13a7645e565c5c1a06f3ef86e97afb856fb364 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Stefan Eissing <stefan@eissing.org>
|
||||||
|
Date: Fri, 6 Mar 2026 14:54:09 +0100
|
||||||
|
Subject: [PATCH] proxy-auth: additional tests
|
||||||
|
|
||||||
|
Also eliminate the special handling for socks proxy match.
|
||||||
|
|
||||||
|
Closes #20837
|
||||||
|
|
||||||
|
Upstream-Status: Backport [https://github.com/curl/curl/commit/5f13a7645e565c5c1a06f3]
|
||||||
|
Backported by Ubuntu team http://archive.ubuntu.com/ubuntu/pool/main/c/curl/curl_8.5.0-2ubuntu10.8.debian.tar.xz
|
||||||
|
|
||||||
|
CVE: CVE-2026-3784
|
||||||
|
Signed-off-by: Vijay Anusuri <vanusuri@mvista.com>
|
||||||
|
---
|
||||||
|
lib/url.c | 35 ++++++++---------------------------
|
||||||
|
1 file changed, 8 insertions(+), 27 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/lib/url.c b/lib/url.c
|
||||||
|
index 22ed0be..76360c8 100644
|
||||||
|
--- a/lib/url.c
|
||||||
|
+++ b/lib/url.c
|
||||||
|
@@ -703,34 +703,15 @@ proxy_info_matches(const struct proxy_info *data,
|
||||||
|
{
|
||||||
|
if((data->proxytype == needle->proxytype) &&
|
||||||
|
(data->port == needle->port) &&
|
||||||
|
- strcasecompare(data->host.name, needle->host.name))
|
||||||
|
- return TRUE;
|
||||||
|
+ curl_strequal(data->host.name, needle->host.name)) {
|
||||||
|
|
||||||
|
+ if(Curl_timestrcmp(data->user, needle->user) ||
|
||||||
|
+ Curl_timestrcmp(data->passwd, needle->passwd))
|
||||||
|
+ return FALSE;
|
||||||
|
+ return TRUE;
|
||||||
|
+ }
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
-
|
||||||
|
-static bool
|
||||||
|
-socks_proxy_info_matches(const struct proxy_info *data,
|
||||||
|
- const struct proxy_info *needle)
|
||||||
|
-{
|
||||||
|
- if(!proxy_info_matches(data, needle))
|
||||||
|
- return FALSE;
|
||||||
|
-
|
||||||
|
- /* the user information is case-sensitive
|
||||||
|
- or at least it is not defined as case-insensitive
|
||||||
|
- see https://datatracker.ietf.org/doc/html/rfc3986#section-3.2.1 */
|
||||||
|
-
|
||||||
|
- /* curl_strequal does a case insensitive comparison,
|
||||||
|
- so do not use it here! */
|
||||||
|
- if(Curl_timestrcmp(data->user, needle->user) ||
|
||||||
|
- Curl_timestrcmp(data->passwd, needle->passwd))
|
||||||
|
- return FALSE;
|
||||||
|
- return TRUE;
|
||||||
|
-}
|
||||||
|
-#else
|
||||||
|
-/* disabled, won't get called */
|
||||||
|
-#define proxy_info_matches(x,y) FALSE
|
||||||
|
-#define socks_proxy_info_matches(x,y) FALSE
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* A connection has to have been idle for a shorter time than 'maxage_conn'
|
||||||
|
@@ -1085,8 +1066,8 @@ ConnectionExists(struct Curl_easy *data,
|
||||||
|
continue;
|
||||||
|
|
||||||
|
if(needle->bits.socksproxy &&
|
||||||
|
- !socks_proxy_info_matches(&needle->socks_proxy,
|
||||||
|
- &check->socks_proxy))
|
||||||
|
+ !proxy_info_matches(&needle->socks_proxy,
|
||||||
|
+ &check->socks_proxy))
|
||||||
|
continue;
|
||||||
|
|
||||||
|
if(needle->bits.httpproxy) {
|
||||||
|
--
|
||||||
|
2.43.0
|
||||||
|
|
||||||
@@ -35,6 +35,7 @@ SRC_URI = " \
|
|||||||
file://CVE-2026-1965-1.patch \
|
file://CVE-2026-1965-1.patch \
|
||||||
file://CVE-2026-1965-2.patch \
|
file://CVE-2026-1965-2.patch \
|
||||||
file://CVE-2026-3783.patch \
|
file://CVE-2026-3783.patch \
|
||||||
|
file://CVE-2026-3784.patch \
|
||||||
"
|
"
|
||||||
|
|
||||||
SRC_URI:append:class-nativesdk = " \
|
SRC_URI:append:class-nativesdk = " \
|
||||||
|
|||||||
Reference in New Issue
Block a user