Openembedded Core Discussions
 help / color / mirror / Atom feed
* [wrynose][PATCH] libarchive: fix CVE-2026-15028
@ 2026-10-02 11:02 Jakub Szczudlo (Nokia)
  2026-10-09 22:55 ` Yoann Congal
  0 siblings, 1 reply; 6+ messages in thread
From: Jakub Szczudlo (Nokia) @ 2026-10-02 11:02 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

Upstream fix:
  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] 6+ messages in thread

* Re: [wrynose][PATCH] libarchive: fix CVE-2026-15028
  2026-10-02 11:02 Jakub Szczudlo (Nokia)
@ 2026-10-09 22:55 ` Yoann Congal
  2026-10-12  7:03   ` Jakub Szczudlo
  0 siblings, 1 reply; 6+ messages in thread
From: Yoann Congal @ 2026-10-09 22:55 UTC (permalink / raw)
  To: Jakub Szczudlo (Nokia), openembedded-core@lists.openembedded.org

On Fri Oct 2, 2026 at 1:02 PM CEST, Jakub Szczudlo (Nokia) wrote:
> Backport patch to fix CVE-2026-15028.
>
> References:
>   https://nvd.nist.gov/vuln/detail/CVE-2026-15028
>
> Upstream fix:
>   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

Hello,

This CVE is in a weird state: I think NVD and Debian are wrong:
The link PR is not the right one and so the fixing commit isn't.

The correct path is: From NVD,
https://github.com/libarchive/libarchive/issues/3251 (matches CVE summary)
is fixed by https://github.com/libarchive/libarchive/pull/3252 (not 3253)
This PR contains 40b92de
Ubuntu concurs: https://ubuntu.com/security/CVE-2026-15028

To get merged, this patch need 2 things:
* an upgraded commit message with the above explanation (after you
  checked/reworded it)
* A fix on master: as far as I can tell, 40b92de is not in the 3.8.9
  used on OE-core master.

Regards,
-- 
Yoann Congal
Smile ECS



^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [wrynose][PATCH] libarchive: fix CVE-2026-15028
  2026-10-09 22:55 ` Yoann Congal
@ 2026-10-12  7:03   ` Jakub Szczudlo
  2026-10-12 10:16     ` Jakub Szczudlo
  0 siblings, 1 reply; 6+ messages in thread
From: Jakub Szczudlo @ 2026-10-12  7:03 UTC (permalink / raw)
  To: openembedded-core

[-- Attachment #1: Type: text/plain, Size: 162 bytes --]

Hi,

thanks for checking I also find out that NVD link seems to be wrong.
So I will update commit message and send it also on master branch.

Best regards,

[-- Attachment #2: Type: text/html, Size: 193 bytes --]

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [wrynose][PATCH] libarchive: fix CVE-2026-15028
  2026-10-12  7:03   ` Jakub Szczudlo
@ 2026-10-12 10:16     ` Jakub Szczudlo
  0 siblings, 0 replies; 6+ messages in thread
From: Jakub Szczudlo @ 2026-10-12 10:16 UTC (permalink / raw)
  To: openembedded-core

[-- Attachment #1: Type: text/plain, Size: 263 bytes --]

Hi,
I spend some time today checking it and it seems that this CVE was fixed in 3.8.9 by cherry-pick:
https://github.com/libarchive/libarchive/commit/22ffe8e8e459970f3bc86b0267493fc4aa8249b8
What should I do on a master then?

Best regards,
Jakub Szczudlo

[-- Attachment #2: Type: text/html, Size: 298 bytes --]

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [wrynose][PATCH] libarchive: fix CVE-2026-15028
@ 2026-10-12 10:59 Jakub Szczudlo (Nokia)
  2026-10-12 11:02 ` Jakub Szczudlo
  0 siblings, 1 reply; 6+ messages in thread
From: Jakub Szczudlo (Nokia) @ 2026-10-12 10:59 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] 6+ messages in thread

* Re: [wrynose][PATCH] libarchive: fix CVE-2026-15028
  2026-10-12 10:59 [wrynose][PATCH] libarchive: fix CVE-2026-15028 Jakub Szczudlo (Nokia)
@ 2026-10-12 11:02 ` Jakub Szczudlo
  0 siblings, 0 replies; 6+ messages in thread
From: Jakub Szczudlo @ 2026-10-12 11:02 UTC (permalink / raw)
  To: openembedded-core

[-- Attachment #1: Type: text/plain, Size: 71 bytes --]

Ignore, forgot about v2 after PATCH.

Best regards,
Jakub Szczudlo

[-- Attachment #2: Type: text/html, Size: 94 bytes --]

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2026-10-12 11:02 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-10-12 10:59 [wrynose][PATCH] libarchive: fix CVE-2026-15028 Jakub Szczudlo (Nokia)
2026-10-12 11:02 ` Jakub Szczudlo
  -- strict thread matches above, loose matches on Subject: below --
2026-10-02 11:02 Jakub Szczudlo (Nokia)
2026-10-09 22:55 ` Yoann Congal
2026-10-12  7:03   ` Jakub Szczudlo
2026-10-12 10:16     ` Jakub Szczudlo

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox