From: Radoslav Kolev Date: Fri, 21 Nov 2025 11:21:18 +0200 Subject: wget: don't allow control characters or spaces in the URL Forwarded: yes, https://lists.busybox.net/pipermail/busybox/2025-November/091840.html Bug-Debian: https://bugs.debian.org/1120795 Fixes CVE-2025-60876 malicious URL can be used to inject HTTP headers in the request. Signed-off-by: Radoslav Kolev Reviewed-by: Emmanuel Deloget Upstream: https://sources.debian.org/data/main/b/busybox/1%3A1.37.0-10/debian/patches/wget-disallow-control-chars-in-URLs-CVE-2025-60876.patch Upstream: https://lists.busybox.net/pipermail/busybox/2025-November/091840.html CVE: CVE-2025-60876 Signed-off-by: Thomas Perale --- networking/wget.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/networking/wget.c b/networking/wget.c index ec3767793..fa555427b 100644 --- a/networking/wget.c +++ b/networking/wget.c @@ -536,6 +536,15 @@ static void parse_url(const char *src_url, struct host_info *h) { char *url, *p, *sp; + /* Fix for CVE-2025-60876 - don't allow control characters or spaces in the URL */ + /* otherwise a malicious URL can be used to inject HTTP headers in the request */ + const unsigned char *u = (void *) src_url; + while (*u) { + if (*u <= ' ') + bb_simple_error_msg_and_die("Unencoded control character found in the URL!"); + u++; + } + free(h->allocated); h->allocated = url = xstrdup(src_url); -- 2.47.3