On Sat Apr 4, 2026 at 10:16 AM CEST, Vijay Anusuri wrote:
> Hi Yoann,
>
> This CVE fix already included in libarchive version 3.8.6 on the master
> branch.
>
> https://github.com/libarchive/libarchive/releases/tag/v3.8.6 .

That's right, as 
https://github.com/libarchive/libarchive/commit/ec19fcbd20b18bd3b0fdcf2b3fb97789cd1bf575.
So, master is already sorted.


> I will cherry-pick libarchive-3.8.6 from master and submit the patch to
> Whinlatter branch.

Yes, please.

Thanks!

> Thanks & Regards,
> Vijay
>
> On Sat, Apr 4, 2026 at 3:37 AM Yoann Congal <[email protected]> wrote:
>
>> On Thu Mar 26, 2026 at 8:58 AM CET, Vijay Anusuri via
>> lists.openembedded.org wrote:
>> > From: Vijay Anusuri <[email protected]>
>> >
>> > Pick patch according to [1]
>> >
>> > [1] https://security-tracker.debian.org/tracker/CVE-2026-4111
>> > [2] https://github.com/libarchive/libarchive/pull/2877
>> > [3] https://access.redhat.com/errata/RHSA-2026:5080
>> >
>> > Signed-off-by: Vijay Anusuri <[email protected]>
>> > ---
>>
>> Hello,
>>
>> As far as I can tell, this CVE applies to whinlatter and master.
>> Since this is the end of kirkstone soon, I'll take it into the reviews
>> series but can only merge it if there is a patch sent for this CVE in
>> those branches.
>>
>> Regards,
>>
>> >  .../libarchive/CVE-2026-4111-1.patch          |  32 ++
>> >  .../libarchive/CVE-2026-4111-2.patch          | 308 ++++++++++++++++++
>> >  .../libarchive/libarchive_3.6.2.bb            |   2 +
>> >  3 files changed, 342 insertions(+)
>> >  create mode 100644
>> meta/recipes-extended/libarchive/libarchive/CVE-2026-4111-1.patch
>> >  create mode 100644
>> meta/recipes-extended/libarchive/libarchive/CVE-2026-4111-2.patch
>> >
>> > diff --git
>> a/meta/recipes-extended/libarchive/libarchive/CVE-2026-4111-1.patch
>> b/meta/recipes-extended/libarchive/libarchive/CVE-2026-4111-1.patch
>> > new file mode 100644
>> > index 0000000000..1f065b1364
>> > --- /dev/null
>> > +++ b/meta/recipes-extended/libarchive/libarchive/CVE-2026-4111-1.patch
>> > @@ -0,0 +1,32 @@
>> > +From 7273d04803a1e5a482f26d8d0fbaf2b204a72168 Mon Sep 17 00:00:00 2001
>> > +From: Tim Kientzle <[email protected]>
>> > +Date: Sun, 1 Mar 2026 20:24:56 -0800
>> > +Subject: [PATCH] Reject filters when the block length is nonsensical
>> > +
>> > +Credit: Grzegorz Antoniak @antekone
>> > +
>> > +Upstream-Status: Backport [
>> https://github.com/libarchive/libarchive/commit/7273d04803a1e5a482f26d8d0fbaf2b204a72168
>> ]
>> > +CVE: CVE-2026-4111
>> > +Signed-off-by: Vijay Anusuri <[email protected]>
>> > +---
>> > + libarchive/archive_read_support_format_rar5.c | 4 +++-
>> > + 1 file changed, 3 insertions(+), 1 deletion(-)
>> > +
>> > +diff --git a/libarchive/archive_read_support_format_rar5.c
>> b/libarchive/archive_read_support_format_rar5.c
>> > +index 38979cb..867f0a8 100644
>> > +--- a/libarchive/archive_read_support_format_rar5.c
>> > ++++ b/libarchive/archive_read_support_format_rar5.c
>> > +@@ -2914,7 +2914,9 @@ static int parse_filter(struct archive_read* ar,
>> const uint8_t* p) {
>> > +     if(block_length < 4 ||
>> > +         block_length > 0x400000 ||
>> > +         filter_type > FILTER_ARM ||
>> > +-        !is_valid_filter_block_start(rar, block_start))
>> > ++        !is_valid_filter_block_start(rar, block_start) ||
>> > ++        (rar->cstate.window_size > 0 &&
>> > ++         (ssize_t)block_length > rar->cstate.window_size >> 1))
>> > +     {
>> > +             archive_set_error(&ar->archive, ARCHIVE_ERRNO_FILE_FORMAT,
>> > +                 "Invalid filter encountered");
>> > +--
>> > +2.25.1
>> > +
>> > diff --git
>> a/meta/recipes-extended/libarchive/libarchive/CVE-2026-4111-2.patch
>> b/meta/recipes-extended/libarchive/libarchive/CVE-2026-4111-2.patch
>> > new file mode 100644
>> > index 0000000000..243a03a8e5
>> > --- /dev/null
>> > +++ b/meta/recipes-extended/libarchive/libarchive/CVE-2026-4111-2.patch
>> > @@ -0,0 +1,308 @@
>> > +From ef53e2023d75a205cf7cbddb5d01c4cc592e9ce4 Mon Sep 17 00:00:00 2001
>> > +From: Tim Kientzle <[email protected]>
>> > +Date: Sun, 1 Mar 2026 10:04:01 -0800
>> > +Subject: [PATCH] Infinite loop in Rar5 decompression
>> > +
>> > +Found by: Elhanan Haenel
>> > +
>> > +Upstream-Status: Backport [
>> https://github.com/libarchive/libarchive/commit/ef53e2023d75a205cf7cbddb5d01c4cc592e9ce4
>> ]
>> > +CVE: CVE-2026-4111
>> > +Signed-off-by: Vijay Anusuri <[email protected]>
>> > +---
>> > + Makefile.am                                   |   2 +
>> > + libarchive/test/CMakeLists.txt                |   1 +
>> > + .../test/test_read_format_rar5_loop_bug.c     |  53 +++++
>> > + .../test_read_format_rar5_loop_bug.rar.uu     | 189 ++++++++++++++++++
>> > + 4 files changed, 245 insertions(+)
>> > + create mode 100644 libarchive/test/test_read_format_rar5_loop_bug.c
>> > + create mode 100644
>> libarchive/test/test_read_format_rar5_loop_bug.rar.uu
>> > +
>> > +diff --git a/Makefile.am b/Makefile.am
>> > +index dd1620d..14edb2a 100644
>> > +--- a/Makefile.am
>> > ++++ b/Makefile.am
>> > +@@ -507,6 +507,7 @@ libarchive_test_SOURCES= \
>> > +     libarchive/test/test_read_format_rar_invalid1.c \
>> > +     libarchive/test/test_read_format_rar_overflow.c \
>> > +     libarchive/test/test_read_format_rar5.c \
>> > ++    libarchive/test/test_read_format_rar5_loop_bug.c \
>> > +     libarchive/test/test_read_format_raw.c \
>> > +     libarchive/test/test_read_format_tar.c \
>> > +     libarchive/test/test_read_format_tar_concatenated.c \
>> > +@@ -869,6 +870,7 @@ libarchive_test_EXTRA_DIST=\
>> > +
>>  libarchive/test/test_read_format_rar5_invalid_dict_reference.rar.uu \
>> > +     libarchive/test/test_read_format_rar5_leftshift1.rar.uu \
>> > +     libarchive/test/test_read_format_rar5_leftshift2.rar.uu \
>> > ++    libarchive/test/test_read_format_rar5_loop_bug.rar.uu \
>> > +     libarchive/test/test_read_format_rar5_multiarchive.part01.rar.uu \
>> > +     libarchive/test/test_read_format_rar5_multiarchive.part02.rar.uu \
>> > +     libarchive/test/test_read_format_rar5_multiarchive.part03.rar.uu \
>> > +diff --git a/libarchive/test/CMakeLists.txt
>> b/libarchive/test/CMakeLists.txt
>> > +index 05c6fd7..c8f2e90 100644
>> > +--- a/libarchive/test/CMakeLists.txt
>> > ++++ b/libarchive/test/CMakeLists.txt
>> > +@@ -156,6 +156,7 @@ IF(ENABLE_TEST)
>> > +     test_read_format_rar_filter.c
>> > +     test_read_format_rar_overflow.c
>> > +     test_read_format_rar5.c
>> > ++    test_read_format_rar5_loop_bug.c
>> > +     test_read_format_raw.c
>> > +     test_read_format_tar.c
>> > +     test_read_format_tar_concatenated.c
>> > +diff --git a/libarchive/test/test_read_format_rar5_loop_bug.c
>> b/libarchive/test/test_read_format_rar5_loop_bug.c
>> > +new file mode 100644
>> > +index 0000000..77dd78c
>> > +--- /dev/null
>> > ++++ b/libarchive/test/test_read_format_rar5_loop_bug.c
>> > +@@ -0,0 +1,53 @@
>> > ++/*-
>> > ++ * Copyright (c) 2026 Tim Kientzle
>> > ++ * All rights reserved.
>> > ++ *
>> > ++ * Redistribution and use in source and binary forms, with or without
>> > ++ * modification, are permitted provided that the following conditions
>> > ++ * are met:
>> > ++ * 1. Redistributions of source code must retain the above copyright
>> > ++ *    notice, this list of conditions and the following disclaimer.
>> > ++ * 2. Redistributions in binary form must reproduce the above copyright
>> > ++ *    notice, this list of conditions and the following disclaimer in
>> the
>> > ++ *    documentation and/or other materials provided with the
>> distribution.
>> > ++ *
>> > ++ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR(S) ``AS IS'' AND ANY
>> EXPRESS OR
>> > ++ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
>> WARRANTIES
>> > ++ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
>> DISCLAIMED.
>> > ++ * IN NO EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY DIRECT, INDIRECT,
>> > ++ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
>> (INCLUDING, BUT
>> > ++ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
>> OF USE,
>> > ++ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
>> ANY
>> > ++ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
>> > ++ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
>> USE OF
>> > ++ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
>> > ++ */
>> > ++#include "test.h"
>> > ++
>> > ++DEFINE_TEST(test_read_format_rar5_loop_bug)
>> > ++{
>> > ++  const char *reffile = "test_read_format_rar5_loop_bug.rar";
>> > ++  struct archive_entry *ae;
>> > ++  struct archive *a;
>> > ++  const void *buf;
>> > ++  size_t size;
>> > ++  la_int64_t offset;
>> > ++
>> > ++  extract_reference_file(reffile);
>> > ++  assert((a = archive_read_new()) != NULL);
>> > ++  assertEqualIntA(a, ARCHIVE_OK, archive_read_support_filter_all(a));
>> > ++  assertEqualIntA(a, ARCHIVE_OK, archive_read_support_format_all(a));
>> > ++  assertEqualIntA(a, ARCHIVE_OK, archive_read_open_filename(a,
>> reffile, 10240));
>> > ++
>> > ++  // This has just one entry
>> > ++  assertEqualIntA(a, ARCHIVE_OK, archive_read_next_header(a, &ae));
>> > ++
>> > ++  // Read blocks until the end of the entry
>> > ++  while (ARCHIVE_OK == archive_read_data_block(a, &buf, &size,
>> &offset)) {
>> > ++  }
>> > ++
>> > ++  assertEqualIntA(a, ARCHIVE_EOF, archive_read_next_header(a, &ae));
>> > ++
>> > ++  assertEqualIntA(a, ARCHIVE_OK, archive_read_close(a));
>> > ++  assertEqualInt(ARCHIVE_OK, archive_free(a));
>> > ++}
>> > +diff --git a/libarchive/test/test_read_format_rar5_loop_bug.rar.uu
>> b/libarchive/test/test_read_format_rar5_loop_bug.rar.uu
>> > +new file mode 100644
>> > +index 0000000..3e47004
>> > +--- /dev/null
>> > ++++ b/libarchive/test/test_read_format_rar5_loop_bug.rar.uu
>> > +@@ -0,0 +1,189 @@
>> > ++begin 644 test_read_format_rar5_loop_bug.rar
>> > ++M4F%R(1H'`0#%&C,R`P$``)T-9%L.`@+P0`"`@`P`@`,``6'(WFP@`?\7_U/^
>> > ++M8@!.`B`H````````````````````````````````````````````````````
>> > ++M````````````````````````````````````````````````````````````
>> > ++M````````````````````````````````````````````````````````````
>> > ++M````````````````````````````````````````````````````````````
>> > ++M````````````````````````````````````````````````````````````
>> > ++M````````````````````````````````````````````````````````````
>> > ++M````````````````````````````````````````````````````````````
>> > ++M````````````````````````````````````````````````````````````
>> > ++M````````````````````````````````````````````````````````````
>> > ++M````````````````````````````````````````````````````````````
>> > ++M````````````````````````````````````````````````````````````
>> > ++M````````````````````````````````````````````````````````````
>> > ++M````````````````````````````````````````````````````````````
>> > ++M````````````````````````````````````````````````````````````
>> > ++M````````````````````````````````````````````````````````````
>> > ++M````````````````````````````````````````````````````````````
>> > ++M````````````````````````````````````````````````````````````
>> > ++M````````````````````````````````````````````````````````````
>> > ++M````````````````````````````````````````````````````````````
>> > ++M````````````````````````````````````````````````````````````
>> > ++M````````````````````````````````````````````````````````````
>> > ++M````````````````````````````````````````````````````````````
>> > ++M````````````````````````````````````````````````````````````
>> > ++M````````````````````````````````````````````````````````````
>> > ++M````````````````````````````````````````````````````````````
>> > ++M````````````````````````````````````````````````````````````
>> > ++M````````````````````````````````````````````````````````````
>> > ++M````````````````````````````````````````````````````````````
>> > ++M````````````````````````````````````````````````````````````
>> > ++M````````````````````````````````````````````````````````````
>> > ++M````````````````````````````````````````````````````````````
>> > ++M````````````````````````````````````````````````````````````
>> > ++M````````````````````````````````````````````````````````````
>> > ++M````````````````````````````````````````````````````````````
>> > ++M````````````````````````````````````````````````````````````
>> > ++M````````````````````````````````````````````````````````````
>> > ++M````````````````````````````````````````````````````````````
>> > ++M````````````````````````````````````````````````````````````
>> > ++M````````````````````````````````````````````````````````````
>> > ++M````````````````````````````````````````````````````````````
>> > ++M````````````````````````````````````````````````````````````
>> > ++M````````````````````````````````````````````````````````````
>> > ++M````````````````````````````````````````````````````````````
>> > ++M````````````````````````````````````````````````````````````
>> > ++M````````````````````````````````````````````````````````````
>> > ++M````````````````````````````````````````````````````````````
>> > ++M````````````````````````````````````````````````````````````
>> > ++M````````````````````````````````````````````````````````````
>> > ++M````````````````````````````````````````````````````````````
>> > ++M````````````````````````````````````````````````````````````
>> > ++M````````````````````````````````````````````````````````````
>> > ++M````````````````````````````````````````````````````````````
>> > ++M````````````````````````````````````````````````````````````
>> > ++M````````````````````````````````````````````````````````````
>> > ++M````````````````````````````````````````````````````````````
>> > ++M````````````````````````````````````````````````````````````
>> > ++M````````````````````````````````````````````````````````````
>> > ++M````````````````````````````````````````````````````````````
>> > ++M````````````````````````````````````````````````````````````
>> > ++M````````````````````````````````````````````````````````````
>> > ++M````````````````````````````````````````````````````````````
>> > ++M````````````````````````````````````````````````````````````
>> > ++M````````````````````````````````````````````````````````````
>> > ++M````````````````````````````````````````````````````````````
>> > ++M````````````````````````````````````````````````````````````
>> > ++M````````````````````````````````````````````````````````````
>> > ++M````````````````````````````````````````````````````````````
>> > ++M````````````````````````````````````````````````````````````
>> > ++M````````````````````````````````````````````````````````````
>> > ++M````````````````````````````````````````````````````````````
>> > ++M````````````````````````````````````````````````````````````
>> > ++M````````````````````````````````````````````````````````````
>> > ++M````````````````````````````````````````````````````````````
>> > ++M````````````````````````````````````````````````````````````
>> > ++M````````````````````````````````````````````````````````````
>> > ++M````````````````````````````````````````````````````````````
>> > ++M````````````````````````````````````````````````````````````
>> > ++M````````````````````````````````````````````````````````````
>> > ++M````````````````````````````````````````````````````````````
>> > ++M````````````````````````````````````````````````````````````
>> > ++M````````````````````````````````````````````````````````````
>> > ++M````````````````````````````````````````````````````````````
>> > ++M````````````````````````````````````````````````````````````
>> > ++M````````````````````````````````````````````````````````````
>> > ++M````````````````````````````````````````````````````````````
>> > ++M````````````````````````````````````````````````````````````
>> > ++M````````````````````````````````````````````````````````````
>> > ++M````````````````````````````````````````````````````````````
>> > ++M````````````````````````````````````````````````````````````
>> > ++M````````````````````````````````````````````````````````````
>> > ++M````````````````````````````````````````````````````````````
>> > ++M````````````````````````````````````````````````````````````
>> > ++M````````````````````````````````````````````````````````````
>> > ++M````````````````````````````````````````````````````````````
>> > ++M````````````````````````````````````````````````````````````
>> > ++M````````````````````````````````````````````````````````````
>> > ++M````````````````````````````````````````````````````````````
>> > ++M````````````````````````````````````````````````````````````
>> > ++M````````````````````````````````````````````````````````````
>> > ++M````````````````````````````````````````````````````````````
>> > ++M````````````````````````````````````````````````````````````
>> > ++M````````````````````````````````````````````````````````````
>> > ++M````````````````````````````````````````````````````````````
>> > ++M````````````````````````````````````````````````````````````
>> > ++M````````````````````````````````````````````````````````````
>> > ++M````````````````````````````````````````````````````````````
>> > ++M````````````````````````````````````````````````````````````
>> > ++M````````````````````````````````````````````````````````````
>> > ++M````````````````````````````````````````````````````````````
>> > ++M````````````````````````````````````````````````````````````
>> > ++M````````````````````````````````````````````````````````````
>> > ++M````````````````````````````````````````````````````````````
>> > ++M````````````````````````````````````````````````````````````
>> > ++M````````````````````````````````````````````````````````````
>> > ++M````````````````````````````````````````````````````````````
>> > ++M````````````````````````````````````````````````````````````
>> > ++M````````````````````````````````````````````````````````````
>> > ++M````````````````````````````````````````````````````````````
>> > ++M````````````````````````````````````````````````````````````
>> > ++M````````````````````````````````````````````````````````````
>> > ++M````````````````````````````````````````````````````````````
>> > ++M````````````````````````````````````````````````````````````
>> > ++M````````````````````````````````````````````````````````````
>> > ++M````````````````````````````````````````````````````````````
>> > ++M````````````````````````````````````````````````````````````
>> > ++M````````````````````````````````````````````````````````````
>> > ++M````````````````````````````````````````````````````````````
>> > ++M````````````````````````````````````````````````````````````
>> > ++M````````````````````````````````````````````````````````````
>> > ++M````````````````````````````````````````````````````````````
>> > ++M````````````````````````````````````````````````````````````
>> > ++M````````````````````````````````````````````````````````````
>> > ++M````````````````````````````````````````````````````````````
>> > ++M````````````````````````````````````````````````````````````
>> > ++M````````````````````````````````````````````````````````````
>> > ++M````````````````````````````````````````````````````````````
>> > ++M````````````````````````````````````````````````````````````
>> > ++M````````````````````````````````````````````````````````````
>> > ++M````````````````````````````````````````````````````````````
>> > ++M````````````````````````````````````````````````````````````
>> > ++M````````````````````````````````````````````````````````````
>> > ++M````````````````````````````````````````````````````````````
>> > ++M````````````````````````````````````````````````````````````
>> > ++M````````````````````````````````````````````````````````````
>> > ++M````````````````````````````````````````````````````````````
>> > ++M````````````````````````````````````````````````````````````
>> > ++M````````````````````````````````````````````````````````````
>> > ++M````````````````````````````````````````````````````````````
>> > ++M````````````````````````````````````````````````````````````
>> > ++M````````````````````````````````````````````````````````````
>> > ++M````````````````````````````````````````````````````````````
>> > ++M````````````````````````````````````````````````````````````
>> > ++M````````````````````````````````````````````````````````````
>> > ++M````````````````````````````````````````````````````````````
>> > ++M````````````````````````````````````````````````````````````
>> > ++M````````````````````````````````````````````````````````````
>> > ++M````````````````````````````````````````````````````````````
>> > ++M````````````````````````````````````````````````````````````
>> > ++M````````````````````````````````````````````````````````````
>> > ++M````````````````````````````````````````````````````````````
>> > ++M````````````````````````````````````````````````````````````
>> > ++M````````````````````````````````````````````````````````````
>> > ++M````````````````````````````````````````````````````````````
>> > ++M````````````````````````````````````````````````````````````
>> > ++M````````````````````````````````````````````````````````````
>> > ++M````````````````````````````````````````````````````````````
>> > ++M````````````````````````````````````````````````````````````
>> > ++M````````````````````````````````````````````````````````````
>> > ++M````````````````````````````````````````````````````````````
>> > ++M````````````````````````````````````````````````````````````
>> > ++M````````````````````````````````````````````````````````````
>> > ++M````````````````````````````````````````````````````````````
>> > ++M````````````````````````````````````````````````````````````
>> > ++M````````````````````````````````````````````````````````````
>> > ++M````````````````````````````````````````````````````````````
>> > ++M````````````````````````````````````````````````````````````
>> > ++M````````````````````````````````````````````````````````````
>> > ++M````````````````````````````````````````````````````````````
>> > ++M````````````````````````````````````````````````````````````
>> > ++M````````````````````````````````````````````````````````````
>> > ++M````````````````````````````````````````````````````````````
>> > ++M````````````````````````````````````````````````````````````
>> > ++M````````````````````````````````````````````````````````````
>> > ++M````````````````````````````````````````````````````````````
>> > ++5```````````````````Y^;*!`@4`
>> > ++`
>> > ++end
>> > +--
>> > +2.25.1
>> > +
>> > diff --git a/meta/recipes-extended/libarchive/libarchive_3.6.2.bb
>> b/meta/recipes-extended/libarchive/libarchive_3.6.2.bb
>> > index e74326b40f..85fe6e5baa 100644
>> > --- a/meta/recipes-extended/libarchive/libarchive_3.6.2.bb
>> > +++ b/meta/recipes-extended/libarchive/libarchive_3.6.2.bb
>> > @@ -50,6 +50,8 @@ SRC_URI = "
>> http://libarchive.org/downloads/libarchive-${PV}.tar.gz \
>> >
>>  file://0001-Merge-pull-request-2768-from-Commandoss-master.patch \
>> >             file://CVE-2025-60753-01.patch \
>> >             file://CVE-2025-60753-02.patch \
>> > +           file://CVE-2026-4111-1.patch \
>> > +           file://CVE-2026-4111-2.patch \
>> >             "
>> >  UPSTREAM_CHECK_URI = "http://libarchive.org/";
>> >
>>
>>
>> --
>> Yoann Congal
>> Smile ECS
>>
>>


-- 
Yoann Congal
Smile ECS

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#234636): 
https://lists.openembedded.org/g/openembedded-core/message/234636
Mute This Topic: https://lists.openembedded.org/mt/118514709/21656
Group Owner: [email protected]
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to