mirror of
https://gitlab.com/buildroot.org/buildroot.git
synced 2026-09-19 16:40:46 -09:00
package/busybox: add patch for CVE-2025-46394
Fixes the following vulnerability:
- CVE-2025-46394
In tar in BusyBox through 1.37.0, a TAR archive can have filenames
hidden from a listing through the use of terminal escape sequences.
For more information, see:
- https://nvd.nist.gov//vuln/detail/CVE-2025-46394
- https://git.busybox.net/busybox/commit/?id=f5e1bf966b19ea1821f00a8c9ecd7774598689b4
- https://patchwork.yoctoproject.org/project/oe-core/patch/20250928221332.1308547-1-peter.marko@siemens.com/#31415
- https://lists.busybox.net/pipermail/busybox/2025-October/091743.html
Signed-off-by: Thomas Perale <thomas.perale@mind.be>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
(cherry picked from commit 48b56d61bc)
Signed-off-by: Thomas Perale <thomas.perale@mind.be>
This commit is contained in:
@@ -0,0 +1,58 @@
|
|||||||
|
From f5e1bf966b19ea1821f00a8c9ecd7774598689b4 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Denys Vlasenko <vda.linux@googlemail.com>
|
||||||
|
Date: Wed, 24 Sep 2025 03:28:47 +0200
|
||||||
|
Subject: archival/libarchive: sanitize filenames on output (prevent control
|
||||||
|
sequence attacks
|
||||||
|
|
||||||
|
This fixes CVE-2025-46394 (terminal escape sequence injection)
|
||||||
|
|
||||||
|
Original credit: Ian.Norton at entrust.com
|
||||||
|
|
||||||
|
function old new delta
|
||||||
|
header_list 9 15 +6
|
||||||
|
header_verbose_list 239 244 +5
|
||||||
|
------------------------------------------------------------------------------
|
||||||
|
(add/remove: 0/0 grow/shrink: 2/0 up/down: 11/0) Total: 11 bytes
|
||||||
|
|
||||||
|
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
|
||||||
|
CVE: CVE-2025-46394
|
||||||
|
Upstream: https://git.busybox.net/busybox/patch/?id=f5e1bf966b19ea1821f00a8c9ecd7774598689b4
|
||||||
|
Signed-off-by: Thomas Perale <thomas.perale@mind.be>
|
||||||
|
---
|
||||||
|
archival/libarchive/header_list.c | 2 +-
|
||||||
|
archival/libarchive/header_verbose_list.c | 4 ++--
|
||||||
|
2 files changed, 3 insertions(+), 3 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/archival/libarchive/header_list.c b/archival/libarchive/header_list.c
|
||||||
|
index 0621aa406..9490b3635 100644
|
||||||
|
--- a/archival/libarchive/header_list.c
|
||||||
|
+++ b/archival/libarchive/header_list.c
|
||||||
|
@@ -8,5 +8,5 @@
|
||||||
|
void FAST_FUNC header_list(const file_header_t *file_header)
|
||||||
|
{
|
||||||
|
//TODO: cpio -vp DIR should output "DIR/NAME", not just "NAME" */
|
||||||
|
- puts(file_header->name);
|
||||||
|
+ puts(printable_string(file_header->name));
|
||||||
|
}
|
||||||
|
diff --git a/archival/libarchive/header_verbose_list.c b/archival/libarchive/header_verbose_list.c
|
||||||
|
index a575a08a0..e7a09430d 100644
|
||||||
|
--- a/archival/libarchive/header_verbose_list.c
|
||||||
|
+++ b/archival/libarchive/header_verbose_list.c
|
||||||
|
@@ -57,13 +57,13 @@ void FAST_FUNC header_verbose_list(const file_header_t *file_header)
|
||||||
|
ptm->tm_hour,
|
||||||
|
ptm->tm_min,
|
||||||
|
ptm->tm_sec,
|
||||||
|
- file_header->name);
|
||||||
|
+ printable_string(file_header->name));
|
||||||
|
|
||||||
|
#endif /* FEATURE_TAR_UNAME_GNAME */
|
||||||
|
|
||||||
|
/* NB: GNU tar shows "->" for symlinks and "link to" for hardlinks */
|
||||||
|
if (file_header->link_target) {
|
||||||
|
- printf(" -> %s", file_header->link_target);
|
||||||
|
+ printf(" -> %s", printable_string(file_header->link_target));
|
||||||
|
}
|
||||||
|
bb_putchar('\n');
|
||||||
|
}
|
||||||
|
--
|
||||||
|
cgit v1.2.3
|
||||||
@@ -0,0 +1,33 @@
|
|||||||
|
From 7378db981d87b4a2264e14d60340a7fb5c67ae59 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Peter Marko <peter.marko@siemens.com>
|
||||||
|
Date: Fri, 3 Oct 2025 16:12:56 +0200
|
||||||
|
Subject: [PATCH] testsuite/tar.tests: fix test after CVE-2025-46394
|
||||||
|
|
||||||
|
tar now sanitizes output and this test needs to expect that.
|
||||||
|
|
||||||
|
Signed-off-by: Peter Marko <peter.marko@siemens.com>
|
||||||
|
|
||||||
|
CVE: CVE-2025-46394
|
||||||
|
Signed-off-by: Peter Marko <peter.marko@siemens.com>
|
||||||
|
Upstream: https://lists.busybox.net/pipermail/busybox/2025-October/091743.html
|
||||||
|
Signed-off-by: Thomas Perale <thomas.perale@mind.be>
|
||||||
|
---
|
||||||
|
testsuite/tar.tests | 4 ++--
|
||||||
|
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/testsuite/tar.tests b/testsuite/tar.tests
|
||||||
|
index 0f2e89112..48fc38114 100755
|
||||||
|
--- a/testsuite/tar.tests
|
||||||
|
+++ b/testsuite/tar.tests
|
||||||
|
@@ -325,9 +325,9 @@ unset LANG
|
||||||
|
rm -rf etc usr
|
||||||
|
' "\
|
||||||
|
etc/ssl/certs/3b2716e5.0
|
||||||
|
-etc/ssl/certs/EBG_Elektronik_Sertifika_Hizmet_Sağlayıcısı.pem
|
||||||
|
+etc/ssl/certs/EBG_Elektronik_Sertifika_Hizmet_Sa??lay??c??s??.pem
|
||||||
|
etc/ssl/certs/f80cc7f6.0
|
||||||
|
-usr/share/ca-certificates/mozilla/EBG_Elektronik_Sertifika_Hizmet_Sağlayıcısı.crt
|
||||||
|
+usr/share/ca-certificates/mozilla/EBG_Elektronik_Sertifika_Hizmet_Sa??lay??c??s??.crt
|
||||||
|
0
|
||||||
|
etc/ssl/certs/3b2716e5.0 -> EBG_Elektronik_Sertifika_Hizmet_Sağlayıcısı.pem
|
||||||
|
etc/ssl/certs/EBG_Elektronik_Sertifika_Hizmet_Sağlayıcısı.pem -> /usr/share/ca-certificates/mozilla/EBG_Elektronik_Sertifika_Hizmet_Sağlayıcısı.crt
|
||||||
@@ -15,6 +15,10 @@ BUSYBOX_CPE_ID_VENDOR = busybox
|
|||||||
# 0004-nslookup-sanitize-all-printed-strings-with-printable.patch
|
# 0004-nslookup-sanitize-all-printed-strings-with-printable.patch
|
||||||
BUSYBOX_IGNORE_CVES += CVE-2022-28391
|
BUSYBOX_IGNORE_CVES += CVE-2022-28391
|
||||||
|
|
||||||
|
# 0012-archival-libarchive-sanitize-filenames-on-output.patch
|
||||||
|
# 0013-testsuite-tar-tests-fix-test-after-cve-2025-46394.patch
|
||||||
|
BUSYBOX_IGNORE_CVES += CVE-2025-46394
|
||||||
|
|
||||||
BUSYBOX_CFLAGS = \
|
BUSYBOX_CFLAGS = \
|
||||||
$(TARGET_CFLAGS)
|
$(TARGET_CFLAGS)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user