* [wrynose][PATCH v2] libarchive: fix CVE-2026-15028
@ 2026-10-12 11:00 Jakub Szczudlo (Nokia)
2026-10-19 19:00 ` Yoann Congal
0 siblings, 1 reply; 5+ messages in thread
From: Jakub Szczudlo (Nokia) @ 2026-10-12 11:00 UTC (permalink / raw)
To: openembedded-core@lists.openembedded.org
Cc: yoann.congal@smile.fr, Jakub Szczudlo (Nokia)
Backport patch to fix CVE-2026-15028.
References:
https://nvd.nist.gov/vuln/detail/CVE-2026-15028
The link in NVD is wrong. Based on project own pull request:
https://github.com/libarchive/libarchive/pull/3252
Fixing commit is the below one:
https://github.com/libarchive/libarchive/commit/40b92de1def08e4fc319d55702785f82cedb7ef2
Signed-off-by: Jakub Szczudlo <jakub.szczudlo@nokia.com>
---
.../libarchive/CVE-2026-15028.patch | 41 +++++++++++++++++++
.../libarchive/libarchive_3.8.7.bb | 1 +
2 files changed, 42 insertions(+)
create mode 100644 meta/recipes-extended/libarchive/libarchive/CVE-2026-15028.patch
diff --git a/meta/recipes-extended/libarchive/libarchive/CVE-2026-15028.patch b/meta/recipes-extended/libarchive/libarchive/CVE-2026-15028.patch
new file mode 100644
index 0000000000..c63fcf22f2
--- /dev/null
+++ b/meta/recipes-extended/libarchive/libarchive/CVE-2026-15028.patch
@@ -0,0 +1,41 @@
+From 40b92de1def08e4fc319d55702785f82cedb7ef2 Mon Sep 17 00:00:00 2001
+From: datauwu <datauwu@users.noreply.github.com>
+Date: Mon, 6 Jul 2026 21:51:15 +0800
+Subject: [PATCH] tar: fix 1-byte OOB read in SUN.holesdata parsing
+
+header_pax_extension() passes PAX attribute values without the trailing
+newline to pax_attribute(). The SUN.holesdata parser read one byte past
+the supplied value when the last numeric field ended at the value
+boundary.
+
+Handle length == 0 before checking *e.
+
+CVE: CVE-2026-15028
+Upstream-Status: Backport [https://github.com/libarchive/libarchive/commit/40b92de1def08e4fc319d55702785f82cedb7ef2]
+Signed-off-by: Jakub Szczudlo <jakub.szczudlo@nokia.com>
+---
+ libarchive/archive_read_support_format_tar.c | 11 ++++-------
+ 1 file changed, 4 insertions(+), 7 deletions(-)
+
+diff --git a/libarchive/archive_read_support_format_tar.c b/libarchive/archive_read_support_format_tar.c
+index e07cfdb63b..1c0441db6c 100644
+--- a/libarchive/archive_read_support_format_tar.c
++++ b/libarchive/archive_read_support_format_tar.c
+@@ -3448,13 +3448,10 @@ pax_attribute_SUN_holesdata(struct archive_read *a, struct tar *tar,
+ return (ARCHIVE_FATAL);
+ tar->sparse_last->hole = hole;
+ }
+- if (length == 0 || *e == '\n') {
+- if (length == 0 && *e == '\n') {
+- return (ARCHIVE_OK);
+- } else {
+- return (ARCHIVE_WARN);
+- }
+- }
++ if (length == 0)
++ return (ARCHIVE_OK);
++ if (*e == '\n')
++ return (ARCHIVE_WARN);
+ p = e + 1;
+ length--;
+ hole = hole == 0;
diff --git a/meta/recipes-extended/libarchive/libarchive_3.8.7.bb b/meta/recipes-extended/libarchive/libarchive_3.8.7.bb
index afc06f85d4..d4cd0b5b01 100644
--- a/meta/recipes-extended/libarchive/libarchive_3.8.7.bb
+++ b/meta/recipes-extended/libarchive/libarchive_3.8.7.bb
@@ -31,6 +31,7 @@ EXTRA_OECONF += "--enable-largefile --without-iconv"
SRC_URI = "https://libarchive.org/downloads/libarchive-${PV}.tar.gz \
file://run-ptest \
+ file://CVE-2026-15028.patch \
"
UPSTREAM_CHECK_URI = "https://www.libarchive.org/"
--
2.34.1
^ permalink raw reply related [flat|nested] 5+ messages in thread
end of thread, other threads:[~2026-10-20 11:23 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-10-12 11:00 [wrynose][PATCH v2] libarchive: fix CVE-2026-15028 Jakub Szczudlo (Nokia)
2026-10-19 19:00 ` Yoann Congal
2026-10-20 6:25 ` Jakub Szczudlo
2026-10-20 7:23 ` [OE-core] " Yoann Congal
2026-10-20 11:23 ` Jakub Szczudlo
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.