busybox: Fixes CVE-2025-60876

This addresses CVE-2025-60876[1], which allows malicious URLs to inject
HTTP headers. It has been accepted by Debian[2] and is tracked here [4].
The upstream fix has been submitted [3] and is pending merge.

[1] https://nvd.nist.gov/vuln/detail/CVE-2025-60876
[2] https://bugs.debian.org/1120795
[3] https://lists.busybox.net/pipermail/busybox/2025-November/091840.html
[4] https://security-tracker.debian.org/tracker/CVE-2025-60876

Upstream-Status: Submitted [https://lists.busybox.net/pipermail/busybox/2025-November/091840.html]

(From OE-Core rev: 077f258eb2125359ffe3982c58433ee14cb21f09)

Signed-off-by: Livin Sunny <livinsunny519@gmail.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit f12af98df8f627c6d1836d27be48bac542a4f00e)
Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
Signed-off-by: Paul Barker <paul@pbarker.dev>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Livin Sunny 2026-02-27 16:38:02 -06:00 committed by Richard Purdie
parent da499d6c21
commit 04ae2d93de
2 changed files with 43 additions and 0 deletions

View File

@ -0,0 +1,42 @@
From: Radoslav Kolev <radoslav.kolev@suse.com>
Date: Fri, 21 Nov 2025 11:21:18 +0200
Subject: wget: don't allow control characters or spaces in the URL
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 <radoslav.kolev@suse.com>
Reviewed-by: Emmanuel Deloget <logout@free.fr>
Upstream-Status: Submitted [https://lists.busybox.net/pipermail/busybox/2025-November/091840.html]
CVE: CVE-2025-60876
Signed-off-by: Livin Sunny <livinsunny519@gmail.com>
---
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

View File

@ -61,6 +61,7 @@ SRC_URI = "https://busybox.net/downloads/busybox-${PV}.tar.bz2;name=tarball \
file://CVE-2023-39810.patch \ file://CVE-2023-39810.patch \
file://CVE-2025-46394-01.patch \ file://CVE-2025-46394-01.patch \
file://CVE-2025-46394-02.patch \ file://CVE-2025-46394-02.patch \
file://CVE-2025-60876.patch \
" "
SRC_URI:append:libc-musl = " file://musl.cfg " SRC_URI:append:libc-musl = " file://musl.cfg "
# TODO http://lists.busybox.net/pipermail/busybox/2023-January/090078.html # TODO http://lists.busybox.net/pipermail/busybox/2023-January/090078.html