Your message dated Sat, 16 May 2026 10:23:17 +0000
with message-id <[email protected]>
and subject line Released with 13.5
has caused the Debian Bug report #1135713,
regarding trixie-pu: package libarchive/3.7.4-4+deb13u1
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact [email protected]
immediately.)


-- 
1135713: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1135713
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
Package: release.debian.org
Severity: normal
Tags: trixie
X-Debbugs-Cc: [email protected], [email protected]
Control: affects -1 + src:libarchive
User: [email protected]
Usertags: pu

[ Reason ]

Fix no-dsa issues: CVE-2025-5918 CVE-2026-4111 CVE-2026-4424
CVE-2026-4426 CVE-2026-5121

All of those were just fixed in Debian LTS bullseye, and I'm now
proposing those fixes for trixie and bookworm. I reached out to the
maintainers of libarchive and got an ack from Syed (CCed to this bug
report).

[ Impact ]

Users are vulnerable to those CVEs.

[ Tests ]

CVE-2025-5918, CVE-2026-4111, CVE-2026-4426 and CVE-2026-5121 comes with
a test case. Note that CVE-2026-4426 and CVE-2026-5121 are in fact fixed
by the same patch, although there was two separate pull requests
upstream, and only the second one came with a test case.

CVE-2026-4424 doesn't have any test case, but the fix is very small and
applies cleanly.

[ Risks ]

All of the patches are targeted fixes and apply cleanly.

Except for CVE-2025-5918 (applied by Rouca), it is not trivial, however,
it comes with a test case, and it was released in Debian LTS back in
November 2025 (in version 3.4.3-2+deb11u3), no issues were reported.

[ Checklist ]

  [x] *all* changes are documented in the d/changelog
  [x] I reviewed all changes and I approve them
  [x] attach debdiff against the package in (old)stable
  [x] the issue is verified as fixed in unstable

[ Changes ]

  * Fix CVE-2025-5918 (Closes: #1107624)
  * Fix CVE-2026-4111 (Closes: #1130753)
  * Fix CVE-2026-4424 (Closes: #1131446)
  * Fix CVE-2026-4426 (Closes: #1131444)
  * Fix CVE-2026-5121 (Closes: #1133002)
  * Move debian/gitlab-ci.yml -> debian/salsa-ci.yml

[ Other info ]

Debusine results: 
https://debusine.debian.net/debian/developers/work-request/627284/
Commits at: 
https://salsa.debian.org/arnaudr/libarchive/-/tree/debian/trixie?ref_type=heads

Thanks,

Arnaud
diff -Nru libarchive-3.7.4/debian/changelog libarchive-3.7.4/debian/changelog
--- libarchive-3.7.4/debian/changelog   2025-07-24 21:40:32.000000000 +0700
+++ libarchive-3.7.4/debian/changelog   2026-04-24 11:36:34.000000000 +0700
@@ -1,3 +1,50 @@
+libarchive (3.7.4-4+deb13u1) trixie; urgency=medium
+
+  * Non-maintainer upload by the LTS team.
+
+  [ Bastien Roucaries ]
+  * Fix CVE-2025-5918 (Closes: #1107624)
+    A vulnerability has been identified in the libarchive library. This flaw
+    can be triggered when file streams are piped into bsdtar, potentially
+    allowing for reading past the end of the file.  This out-of-bounds read
+    can lead to unintended consequences, including unpredictable program
+    behavior, memory corruption, or a denial-of-service condition.
+
+  [ Arnaud Rebillout ]
+  * Fix CVE-2026-4111 (Closes: #1130753)
+    A flaw was identified in the RAR5 archive decompression logic of the
+    libarchive library, specifically within the archive_read_data() processing
+    path. When a specially crafted RAR5 archive is processed, the
+    decompression routine may enter a state where internal logic prevents
+    forward progress.  This condition results in an infinite loop that
+    continuously consumes CPU resources. Because the archive passes checksum
+    validation and appears structurally valid, affected applications cannot
+    detect the issue before processing. This can allow attackers to cause
+    persistent denial-of-service conditions in services that automatically
+    process archives.
+  * Fix CVE-2026-4424 (Closes: #1131446)
+    A flaw was found in libarchive. This heap out-of-bounds read vulnerability
+    exists in the RAR archive processing logic due to improper validation of
+    the LZSS sliding window size after transitions between compression
+    methods. A remote attacker can exploit this by providing a specially
+    crafted RAR archive, leading to the disclosure of sensitive heap memory
+    information without requiring authentication or user interaction.
+  * Fix CVE-2026-4426 (Closes: #1131444)
+    A flaw was found in libarchive. An Undefined Behavior vulnerability exists
+    in the zisofs decompression logic, caused by improper validation of a
+    field (`pz_log2_bs`) read from ISO9660 Rock Ridge extensions. A remote
+    attacker can exploit this by supplying a specially crafted ISO file. This
+    can lead to incorrect memory allocation and potential application crashes,
+    resulting in a denial-of-service (DoS) condition.
+  * Fix CVE-2026-5121 (Closes: #1133002)
+    A flaw was found in libarchive. On 32-bit systems, an integer overflow
+    vulnerability exists in the zisofs block pointer allocation logic. A
+    remote attacker can exploit this by providing a specially crafted ISO9660
+    image, which can lead to a heap buffer overflow. This could potentially
+    allow for arbitrary code execution on the affected system.
+
+ -- Arnaud Rebillout <[email protected]>  Fri, 24 Apr 2026 11:36:34 +0700
+
 libarchive (3.7.4-4) unstable; urgency=medium
 
   * Add the CVE-2025-5914, CVE-2025-5915, CVE-2025-5916, and
diff -Nru libarchive-3.7.4/debian/gitlab-ci.yml 
libarchive-3.7.4/debian/gitlab-ci.yml
--- libarchive-3.7.4/debian/gitlab-ci.yml       2025-07-24 21:40:32.000000000 
+0700
+++ libarchive-3.7.4/debian/gitlab-ci.yml       1970-01-01 08:00:00.000000000 
+0800
@@ -1,3 +0,0 @@
-include:
-  - https://salsa.debian.org/salsa-ci-team/pipeline/raw/master/salsa-ci.yml
-  - 
https://salsa.debian.org/salsa-ci-team/pipeline/raw/master/pipeline-jobs.yml
diff -Nru libarchive-3.7.4/debian/patches/CVE-2025-5918_1.patch 
libarchive-3.7.4/debian/patches/CVE-2025-5918_1.patch
--- libarchive-3.7.4/debian/patches/CVE-2025-5918_1.patch       1970-01-01 
08:00:00.000000000 +0800
+++ libarchive-3.7.4/debian/patches/CVE-2025-5918_1.patch       2026-04-24 
11:36:34.000000000 +0700
@@ -0,0 +1,214 @@
+From: Tobias Stoeckmann <[email protected]>
+Date: Tue, 15 Apr 2025 06:02:17 +0200
+Subject: Do not skip past EOF while reading (#2584)
+
+Make sure to not skip past end of file for better error messages. One
+such example is now visible with rar testsuite. You can see the
+difference already by an actually not useless use of cat:
+
+```
+$ cat .../test_read_format_rar_ppmd_use_after_free.rar | bsdtar -t
+bsdtar: Archive entry has empty or unreadable filename ... skipping.
+bsdtar: Archive entry has empty or unreadable filename ... skipping.
+bsdtar: Truncated input file (needed 119 bytes, only 0 available)
+bsdtar: Error exit delayed from previous errors.
+```
+
+compared to
+
+```
+$ bsdtar -tf .../test_read_format_rar_ppmd_use_after_free.rar
+bsdtar: Archive entry has empty or unreadable filename ... skipping.
+bsdtar: Archive entry has empty or unreadable filename ... skipping.
+bsdtar: Error exit delayed from previous errors.
+```
+
+Since the former cannot lseek, the error is a different one
+(ARCHIVE_FATAL vs ARCHIVE_EOF). The piped version states explicitly that
+truncation occurred, while the latter states EOF because the skip past
+the end of file was successful.
+
+Signed-off-by: Tobias Stoeckmann <[email protected]>
+(cherry picked from commit dcbf1e0ededa95849f098d154a25876ed5754bcf)
+origin: 
https://github.com/libarchive/libarchive/commit/dcbf1e0ededa95849f098d154a25876ed5754bcf
+---
+ libarchive/archive_read_open_fd.c       | 13 ++++++++++---
+ libarchive/archive_read_open_file.c     | 33 +++++++++++++++++++++++++--------
+ libarchive/archive_read_open_filename.c | 16 ++++++++++++----
+ libarchive/test/test_read_format_rar.c  |  6 +++---
+ 4 files changed, 50 insertions(+), 18 deletions(-)
+
+diff --git a/libarchive/archive_read_open_fd.c 
b/libarchive/archive_read_open_fd.c
+index 739fa37..3f975ab 100644
+--- a/libarchive/archive_read_open_fd.c
++++ b/libarchive/archive_read_open_fd.c
+@@ -52,6 +52,7 @@
+ struct read_fd_data {
+       int      fd;
+       size_t   block_size;
++      int64_t  size;
+       char     use_lseek;
+       void    *buffer;
+ };
+@@ -95,6 +96,7 @@ archive_read_open_fd(struct archive *a, int fd, size_t 
block_size)
+       if (S_ISREG(st.st_mode)) {
+               archive_read_extract_set_skip_file(a, st.st_dev, st.st_ino);
+               mine->use_lseek = 1;
++              mine->size = st.st_size;
+       }
+ #if defined(__CYGWIN__) || defined(_WIN32)
+       setmode(mine->fd, O_BINARY);
+@@ -151,9 +153,14 @@ file_skip(struct archive *a, void *client_data, int64_t 
request)
+       if (skip == 0)
+               return (0);
+ 
+-      if (((old_offset = lseek(mine->fd, 0, SEEK_CUR)) >= 0) &&
+-          ((new_offset = lseek(mine->fd, skip, SEEK_CUR)) >= 0))
+-              return (new_offset - old_offset);
++      if ((old_offset = lseek(mine->fd, 0, SEEK_CUR)) >= 0) {
++              if (old_offset >= mine->size ||
++                  skip > mine->size - old_offset) {
++                      /* Do not seek past end of file. */
++                      errno = ESPIPE;
++              } else if ((new_offset = lseek(mine->fd, skip, SEEK_CUR)) >= 0)
++                      return (new_offset - old_offset);
++      }
+ 
+       /* If seek failed once, it will probably fail again. */
+       mine->use_lseek = 0;
+diff --git a/libarchive/archive_read_open_file.c 
b/libarchive/archive_read_open_file.c
+index 10f872b..c7c1090 100644
+--- a/libarchive/archive_read_open_file.c
++++ b/libarchive/archive_read_open_file.c
+@@ -52,6 +52,7 @@
+ struct read_FILE_data {
+       FILE    *f;
+       size_t   block_size;
++      int64_t  size;
+       void    *buffer;
+       char     can_skip;
+ };
+@@ -90,6 +91,7 @@ archive_read_open_FILE(struct archive *a, FILE *f)
+               archive_read_extract_set_skip_file(a, st.st_dev, st.st_ino);
+               /* Enable the seek optimization only for regular files. */
+               mine->can_skip = 1;
++              mine->size = st.st_size;
+       } else
+               mine->can_skip = 0;
+ 
+@@ -129,6 +131,7 @@ file_skip(struct archive *a, void *client_data, int64_t 
request)
+ #else
+       long skip = (long)request;
+ #endif
++      int64_t old_offset, new_offset;
+       int skip_bits = sizeof(skip) * 8 - 1;
+ 
+       (void)a; /* UNUSED */
+@@ -152,19 +155,33 @@ file_skip(struct archive *a, void *client_data, int64_t 
request)
+ 
+ #ifdef __ANDROID__
+         /* fileno() isn't safe on all platforms ... see above. */
+-      if (lseek(fileno(mine->f), skip, SEEK_CUR) < 0)
++      old_offset = lseek(fileno(mine->f), 0, SEEK_CUR);
+ #elif HAVE__FSEEKI64
+-      if (_fseeki64(mine->f, skip, SEEK_CUR) != 0)
++      old_offset = _ftelli64(mine->f);
+ #elif HAVE_FSEEKO
+-      if (fseeko(mine->f, skip, SEEK_CUR) != 0)
++      old_offset = ftello(mine->f);
+ #else
+-      if (fseek(mine->f, skip, SEEK_CUR) != 0)
++      old_offset = ftell(mine->f);
+ #endif
+-      {
+-              mine->can_skip = 0;
+-              return (0);
++      if (old_offset >= 0) {
++              if (old_offset < mine->size &&
++                  skip <= mine->size - old_offset) {
++#ifdef __ANDROID__
++                      new_offset = lseek(fileno(mine->f), skip, SEEK_CUR);
++#elif HAVE__FSEEKI64
++                      new_offset = _fseeki64(mine->f, skip, SEEK_CUR);
++#elif HAVE_FSEEKO
++                      new_offset = fseeko(mine->f, skip, SEEK_CUR);
++#else
++                      new_offset = fseek(mine->f, skip, SEEK_CUR);
++#endif
++                      if (new_offset >= 0)
++                              return (new_offset - old_offset);
++              }
+       }
+-      return (request);
++
++      mine->can_skip = 0;
++      return (0);
+ }
+ 
+ 
+diff --git a/libarchive/archive_read_open_filename.c 
b/libarchive/archive_read_open_filename.c
+index d5856d9..c405471 100644
+--- a/libarchive/archive_read_open_filename.c
++++ b/libarchive/archive_read_open_filename.c
+@@ -74,6 +74,7 @@ struct read_file_data {
+       size_t   block_size;
+       void    *buffer;
+       mode_t   st_mode;  /* Mode bits for opened file. */
++      int64_t  size;
+       char     use_lseek;
+       enum fnt_e { FNT_STDIN, FNT_MBS, FNT_WCS } filename_type;
+       union {
+@@ -400,8 +401,10 @@ file_open(struct archive *a, void *client_data)
+       mine->st_mode = st.st_mode;
+ 
+       /* Disk-like inputs can use lseek(). */
+-      if (is_disk_like)
++      if (is_disk_like) {
+               mine->use_lseek = 1;
++              mine->size = st.st_size;
++      }
+ 
+       return (ARCHIVE_OK);
+ fail:
+@@ -495,9 +498,14 @@ file_skip_lseek(struct archive *a, void *client_data, 
int64_t request)
+                       skip = max_skip;
+       }
+ 
+-      if ((old_offset = lseek(mine->fd, 0, SEEK_CUR)) >= 0 &&
+-          (new_offset = lseek(mine->fd, skip, SEEK_CUR)) >= 0)
+-              return (new_offset - old_offset);
++      if ((old_offset = lseek(mine->fd, 0, SEEK_CUR)) >= 0) {
++              if (old_offset >= mine->size ||
++                  skip > mine->size - old_offset) {
++                      /* Do not seek past end of file. */
++                      errno = ESPIPE;
++              } else if ((new_offset = lseek(mine->fd, skip, SEEK_CUR)) >= 0)
++                      return (new_offset - old_offset);
++      }
+ 
+       /* If lseek() fails, don't bother trying again. */
+       mine->use_lseek = 0;
+diff --git a/libarchive/test/test_read_format_rar.c 
b/libarchive/test/test_read_format_rar.c
+index dce567a..fce44a9 100644
+--- a/libarchive/test/test_read_format_rar.c
++++ b/libarchive/test/test_read_format_rar.c
+@@ -3829,8 +3829,8 @@ DEFINE_TEST(test_read_format_rar_ppmd_use_after_free)
+   assertA(ARCHIVE_OK == archive_read_next_header(a, &ae));
+   assertA(archive_read_data(a, buf, sizeof(buf)) <= 0);
+ 
+-  /* Test EOF */
+-  assertA(1 == archive_read_next_header(a, &ae));
++  /* Test for truncation */
++  assertA(ARCHIVE_FATAL == archive_read_next_header(a, &ae));
+ 
+   assertEqualIntA(a, ARCHIVE_OK, archive_read_close(a));
+   assertEqualInt(ARCHIVE_OK, archive_read_free(a));
+@@ -3856,7 +3856,7 @@ DEFINE_TEST(test_read_format_rar_ppmd_use_after_free2)
+   assertA(archive_read_data(a, buf, sizeof(buf)) <= 0);
+ 
+   /* Test EOF */
+-  assertA(1 == archive_read_next_header(a, &ae));
++  assertA(ARCHIVE_FATAL == archive_read_next_header(a, &ae));
+ 
+   assertEqualIntA(a, ARCHIVE_OK, archive_read_close(a));
+   assertEqualInt(ARCHIVE_OK, archive_read_free(a));
diff -Nru libarchive-3.7.4/debian/patches/CVE-2025-5918_2.patch 
libarchive-3.7.4/debian/patches/CVE-2025-5918_2.patch
--- libarchive-3.7.4/debian/patches/CVE-2025-5918_2.patch       1970-01-01 
08:00:00.000000000 +0800
+++ libarchive-3.7.4/debian/patches/CVE-2025-5918_2.patch       2026-04-24 
11:36:34.000000000 +0700
@@ -0,0 +1,47 @@
+From: Tobias Stoeckmann <[email protected]>
+Date: Tue, 27 May 2025 17:09:12 +0200
+Subject: Fix FILE_skip regression
+
+The fseek* family of functions return 0 on success, not the new offset.
+This is only true for lseek.
+
+Fixes https://github.com/libarchive/libarchive/issues/2641
+Fixes dcbf1e0ededa95849f098d154a25876ed5754bcf
+
+Signed-off-by: Tobias Stoeckmann <[email protected]>
+origin: 
https://github.com/libarchive/libarchive/commit/51b4c35bb38b7df4af24de7f103863dd79129b01
+---
+ libarchive/archive_read_open_file.c | 11 +++++++----
+ 1 file changed, 7 insertions(+), 4 deletions(-)
+
+diff --git a/libarchive/archive_read_open_file.c 
b/libarchive/archive_read_open_file.c
+index c7c1090..538e65d 100644
+--- a/libarchive/archive_read_open_file.c
++++ b/libarchive/archive_read_open_file.c
+@@ -131,7 +131,7 @@ file_skip(struct archive *a, void *client_data, int64_t 
request)
+ #else
+       long skip = (long)request;
+ #endif
+-      int64_t old_offset, new_offset;
++      int64_t old_offset, new_offset = -1;
+       int skip_bits = sizeof(skip) * 8 - 1;
+ 
+       (void)a; /* UNUSED */
+@@ -169,11 +169,14 @@ file_skip(struct archive *a, void *client_data, int64_t 
request)
+ #ifdef __ANDROID__
+                       new_offset = lseek(fileno(mine->f), skip, SEEK_CUR);
+ #elif HAVE__FSEEKI64
+-                      new_offset = _fseeki64(mine->f, skip, SEEK_CUR);
++                      if (_fseeki64(mine->f, skip, SEEK_CUR) == 0)
++                              new_offset = _ftelli64(mine->f);
+ #elif HAVE_FSEEKO
+-                      new_offset = fseeko(mine->f, skip, SEEK_CUR);
++                      if (fseeko(mine->f, skip, SEEK_CUR) == 0)
++                              new_offset = ftello(mine->f);
+ #else
+-                      new_offset = fseek(mine->f, skip, SEEK_CUR);
++                      if (fseek(mine->f, skip, SEEK_CUR) == 0)
++                              new_offset = ftell(mine->f);
+ #endif
+                       if (new_offset >= 0)
+                               return (new_offset - old_offset);
diff -Nru libarchive-3.7.4/debian/patches/CVE-2025-5918-pre1.patch 
libarchive-3.7.4/debian/patches/CVE-2025-5918-pre1.patch
--- libarchive-3.7.4/debian/patches/CVE-2025-5918-pre1.patch    1970-01-01 
08:00:00.000000000 +0800
+++ libarchive-3.7.4/debian/patches/CVE-2025-5918-pre1.patch    2026-04-24 
11:36:34.000000000 +0700
@@ -0,0 +1,315 @@
+From: Tobias Stoeckmann <[email protected]>
+Date: Sun, 6 Apr 2025 22:34:37 +0200
+Subject: Improve lseek handling (#2564)
+
+The skip functions are limited to 1 GB for cases in which libarchive
+runs on a system with an off_t or long with 32 bits. This has negative
+impact on 64 bit systems.
+
+Instead, make sure that _all_ subsequent functions truncate properly.
+Some of them already did and some had regressions for over 10 years.
+
+Tests pass on Debian 12 i686 configured with --disable-largefile, i.e.
+running with an off_t with 32 bits.
+
+Casts added where needed to still pass MSVC builds.
+
+---------
+
+Signed-off-by: Tobias Stoeckmann <[email protected]>
+(cherry picked from commit 89b8c35ff4b5addc08a85bf5df02b407f8af1f6c)
+origin: backport, 
https://github.com/libarchive/libarchive/commit/89b8c35ff4b5addc08a85bf5df02b407f8af1f6c
+---
+ libarchive/archive_read.c               |  6 ----
+ libarchive/archive_read_disk_posix.c    |  3 +-
+ libarchive/archive_read_open_fd.c       | 29 ++++++++++++-----
+ libarchive/archive_read_open_file.c     | 56 ++++++++++++++++++++++++++++++++-
+ libarchive/archive_read_open_filename.c | 37 ++++++++++++++++------
+ libarchive/test/read_open_memory.c      |  2 +-
+ libarchive/test/test_sparse_basic.c     |  6 ++--
+ libarchive/test/test_tar_large.c        |  2 +-
+ 8 files changed, 111 insertions(+), 30 deletions(-)
+
+diff --git a/libarchive/archive_read.c b/libarchive/archive_read.c
+index d71fc2b..78f01bf 100644
+--- a/libarchive/archive_read.c
++++ b/libarchive/archive_read.c
+@@ -176,15 +176,9 @@ client_skip_proxy(struct archive_read_filter *self, 
int64_t request)
+               return 0;
+ 
+       if (self->archive->client.skipper != NULL) {
+-              /* Seek requests over 1GiB are broken down into
+-               * multiple seeks.  This avoids overflows when the
+-               * requests get passed through 32-bit arguments. */
+-              int64_t skip_limit = (int64_t)1 << 30;
+               int64_t total = 0;
+               for (;;) {
+                       int64_t get, ask = request;
+-                      if (ask > skip_limit)
+-                              ask = skip_limit;
+                       get = (self->archive->client.skipper)
+                               (&self->archive->archive, self->data, ask);
+                       total += get;
+diff --git a/libarchive/archive_read_disk_posix.c 
b/libarchive/archive_read_disk_posix.c
+index 76a4fa4..99db2e3 100644
+--- a/libarchive/archive_read_disk_posix.c
++++ b/libarchive/archive_read_disk_posix.c
+@@ -778,7 +778,8 @@ _archive_read_data_block(struct archive *_a, const void 
**buff,
+        */
+       if (t->current_sparse->offset > t->entry_total) {
+               if (lseek(t->entry_fd,
+-                  (off_t)t->current_sparse->offset, SEEK_SET) < 0) {
++                  (off_t)t->current_sparse->offset, SEEK_SET) !=
++                  t->current_sparse->offset) {
+                       archive_set_error(&a->archive, errno, "Seek error");
+                       r = ARCHIVE_FATAL;
+                       a->archive.state = ARCHIVE_STATE_FATAL;
+diff --git a/libarchive/archive_read_open_fd.c 
b/libarchive/archive_read_open_fd.c
+index 3ee2423..739fa37 100644
+--- a/libarchive/archive_read_open_fd.c
++++ b/libarchive/archive_read_open_fd.c
+@@ -131,7 +131,7 @@ static int64_t
+ file_skip(struct archive *a, void *client_data, int64_t request)
+ {
+       struct read_fd_data *mine = (struct read_fd_data *)client_data;
+-      int64_t skip = request;
++      off_t skip = (off_t)request;
+       int64_t old_offset, new_offset;
+       int skip_bits = sizeof(skip) * 8 - 1;  /* off_t is a signed type. */
+ 
+@@ -140,15 +140,15 @@ file_skip(struct archive *a, void *client_data, int64_t 
request)
+ 
+       /* Reduce a request that would overflow the 'skip' variable. */
+       if (sizeof(request) > sizeof(skip)) {
+-              int64_t max_skip =
++              const int64_t max_skip =
+                   (((int64_t)1 << (skip_bits - 1)) - 1) * 2 + 1;
+               if (request > max_skip)
+-                      skip = max_skip;
++                      skip = (off_t)max_skip;
+       }
+ 
+-      /* Reduce request to the next smallest multiple of block_size */
+-      request = (request / mine->block_size) * mine->block_size;
+-      if (request == 0)
++      /* Reduce 'skip' to the next smallest multiple of block_size */
++      skip = (off_t)(((int64_t)skip / mine->block_size) * mine->block_size);
++      if (skip == 0)
+               return (0);
+ 
+       if (((old_offset = lseek(mine->fd, 0, SEEK_CUR)) >= 0) &&
+@@ -178,11 +178,24 @@ static int64_t
+ file_seek(struct archive *a, void *client_data, int64_t request, int whence)
+ {
+       struct read_fd_data *mine = (struct read_fd_data *)client_data;
++      off_t seek = (off_t)request;
+       int64_t r;
++      int seek_bits = sizeof(seek) * 8 - 1;  /* off_t is a signed type. */
+ 
+       /* We use off_t here because lseek() is declared that way. */
+-      /* See above for notes about when off_t is less than 64 bits. */
+-      r = lseek(mine->fd, request, whence);
++
++      /* Reduce a request that would overflow the 'seek' variable. */
++      if (sizeof(request) > sizeof(seek)) {
++              const int64_t max_seek =
++                  (((int64_t)1 << (seek_bits - 1)) - 1) * 2 + 1;
++              const int64_t min_seek = ~max_seek;
++              if (request > max_seek)
++                      seek = (off_t)max_seek;
++              else if (request < min_seek)
++                      seek = (off_t)min_seek;
++      }
++
++      r = lseek(mine->fd, seek, whence);
+       if (r >= 0)
+               return r;
+ 
+diff --git a/libarchive/archive_read_open_file.c 
b/libarchive/archive_read_open_file.c
+index dcf1d46..10f872b 100644
+--- a/libarchive/archive_read_open_file.c
++++ b/libarchive/archive_read_open_file.c
+@@ -144,7 +144,7 @@ file_skip(struct archive *a, void *client_data, int64_t 
request)
+ 
+       /* If request is too big for a long or an off_t, reduce it. */
+       if (sizeof(request) > sizeof(skip)) {
+-              int64_t max_skip =
++              const int64_t max_skip =
+                   (((int64_t)1 << (skip_bits - 1)) - 1) * 2 + 1;
+               if (request > max_skip)
+                       skip = max_skip;
+@@ -167,6 +167,60 @@ file_skip(struct archive *a, void *client_data, int64_t 
request)
+       return (request);
+ }
+ 
++
++/*
++ * TODO: Store the offset and use it in the read callback.
++ */
++static int64_t
++FILE_seek(struct archive *a, void *client_data, int64_t request, int whence)
++{
++      struct read_FILE_data *mine = (struct read_FILE_data *)client_data;
++#if HAVE__FSEEKI64
++      int64_t seek = request;
++#elif HAVE_FSEEKO
++      off_t seek = (off_t)request;
++#else
++      long seek = (long)request;
++#endif
++      int seek_bits = sizeof(seek) * 8 - 1;
++      (void)a; /* UNUSED */
++
++      /* Reduce a request that would overflow the 'seek' variable. */
++      if (sizeof(request) > sizeof(seek)) {
++              const int64_t max_seek =
++                  (((int64_t)1 << (seek_bits - 1)) - 1) * 2 + 1;
++              const int64_t min_seek = ~max_seek;
++              if (request > max_seek)
++                      seek = max_seek;
++              else if (request < min_seek)
++                      seek = min_seek;
++      }
++
++#ifdef __ANDROID__
++      /* Newer Android versions have fseeko...to meditate. */
++      int64_t ret = lseek(fileno(mine->f), seek, whence);
++      if (ret >= 0) {
++              return ret;
++      }
++#elif HAVE__FSEEKI64
++      if (_fseeki64(mine->f, seek, whence) == 0) {
++              return _ftelli64(mine->f);
++      }
++#elif HAVE_FSEEKO
++      if (fseeko(mine->f, seek, whence) == 0) {
++              return ftello(mine->f);
++      }
++#else
++      if (fseek(mine->f, seek, whence) == 0) {
++              return ftell(mine->f);
++      }
++#endif
++      /* If we arrive here, the input is corrupted or truncated so fail. */
++      archive_set_error(a, errno, "Error seeking in FILE* pointer");
++      return (ARCHIVE_FATAL);
++}
++
++
+ static int
+ file_close(struct archive *a, void *client_data)
+ {
+diff --git a/libarchive/archive_read_open_filename.c 
b/libarchive/archive_read_open_filename.c
+index dd2e160..d5856d9 100644
+--- a/libarchive/archive_read_open_filename.c
++++ b/libarchive/archive_read_open_filename.c
+@@ -479,20 +479,24 @@ file_skip_lseek(struct archive *a, void *client_data, 
int64_t request)
+       struct read_file_data *mine = (struct read_file_data *)client_data;
+ #if defined(_WIN32) && !defined(__CYGWIN__)
+       /* We use _lseeki64() on Windows. */
+-      int64_t old_offset, new_offset;
++      int64_t old_offset, new_offset, skip = request;
+ #else
+-      off_t old_offset, new_offset;
++      off_t old_offset, new_offset, skip = (off_t)request;
+ #endif
++      int skip_bits = sizeof(skip) * 8 - 1;
+ 
+       /* We use off_t here because lseek() is declared that way. */
+ 
+-      /* TODO: Deal with case where off_t isn't 64 bits.
+-       * This shouldn't be a problem on Linux or other POSIX
+-       * systems, since the configuration logic for libarchive
+-       * tries to obtain a 64-bit off_t.
+-       */
++      /* Reduce a request that would overflow the 'skip' variable. */
++      if (sizeof(request) > sizeof(skip)) {
++              const int64_t max_skip =
++                  (((int64_t)1 << (skip_bits - 1)) - 1) * 2 + 1;
++              if (request > max_skip)
++                      skip = max_skip;
++      }
++
+       if ((old_offset = lseek(mine->fd, 0, SEEK_CUR)) >= 0 &&
+-          (new_offset = lseek(mine->fd, request, SEEK_CUR)) >= 0)
++          (new_offset = lseek(mine->fd, skip, SEEK_CUR)) >= 0)
+               return (new_offset - old_offset);
+ 
+       /* If lseek() fails, don't bother trying again. */
+@@ -540,11 +544,24 @@ static int64_t
+ file_seek(struct archive *a, void *client_data, int64_t request, int whence)
+ {
+       struct read_file_data *mine = (struct read_file_data *)client_data;
++      off_t seek = (off_t)request;
+       int64_t r;
++      int seek_bits = sizeof(seek) * 8 - 1;
+ 
+       /* We use off_t here because lseek() is declared that way. */
+-      /* See above for notes about when off_t is less than 64 bits. */
+-      r = lseek(mine->fd, request, whence);
++
++      /* Reduce a request that would overflow the 'seek' variable. */
++      if (sizeof(request) > sizeof(seek)) {
++              const int64_t max_seek =
++                  (((int64_t)1 << (seek_bits - 1)) - 1) * 2 + 1;
++              const int64_t min_seek = ~max_seek;
++              if (request > max_seek)
++                      seek = (off_t)max_seek;
++              else if (request < min_seek)
++                      seek = (off_t)min_seek;
++      }
++
++      r = lseek(mine->fd, seek, whence);
+       if (r >= 0)
+               return r;
+ 
+diff --git a/libarchive/test/read_open_memory.c 
b/libarchive/test/read_open_memory.c
+index 6d2468c..9262ab9 100644
+--- a/libarchive/test/read_open_memory.c
++++ b/libarchive/test/read_open_memory.c
+@@ -167,7 +167,7 @@ memory_read_skip(struct archive *a, void *client_data, 
int64_t skip)
+ 
+       (void)a; /* UNUSED */
+       /* We can't skip by more than is available. */
+-      if ((off_t)skip > (off_t)(mine->end - mine->p))
++      if (skip > mine->end - mine->p)
+               skip = mine->end - mine->p;
+       /* Always do small skips by prime amounts. */
+       if (skip > 71)
+diff --git a/libarchive/test/test_sparse_basic.c 
b/libarchive/test/test_sparse_basic.c
+index 0350df1..192570a 100644
+--- a/libarchive/test/test_sparse_basic.c
++++ b/libarchive/test/test_sparse_basic.c
+@@ -605,7 +605,8 @@ DEFINE_TEST(test_sparse_basic)
+       verify_sparse_file(a, "file2", sparse_file2, 20);
+       /* Encoded non sparse; expect a data block but no sparse entries. */
+       verify_sparse_file(a, "file3", sparse_file3, 0);
+-      verify_sparse_file(a, "file4", sparse_file4, 2);
++      if (sizeof(off_t) > 4)
++              verify_sparse_file(a, "file4", sparse_file4, 2);
+ 
+       assertEqualInt(ARCHIVE_OK, archive_read_free(a));
+ 
+@@ -632,7 +633,8 @@ DEFINE_TEST(test_sparse_basic)
+       verify_sparse_file(a, "file1", sparse_file1, 0);
+       verify_sparse_file(a, "file2", sparse_file2, 0);
+       verify_sparse_file(a, "file3", sparse_file3, 0);
+-      verify_sparse_file(a, "file4", sparse_file4, 0);
++      if (sizeof(off_t) > 4)
++              verify_sparse_file(a, "file4", sparse_file4, 0);
+ 
+       assertEqualInt(ARCHIVE_OK, archive_read_free(a));
+ 
+diff --git a/libarchive/test/test_tar_large.c 
b/libarchive/test/test_tar_large.c
+index 7ff3fee..bf20a9d 100644
+--- a/libarchive/test/test_tar_large.c
++++ b/libarchive/test/test_tar_large.c
+@@ -175,7 +175,7 @@ memory_read_skip(struct archive *a, void *_private, 
int64_t skip)
+       }
+       if (private->filebytes > 0) {
+               if (private->filebytes < skip)
+-                      skip = (off_t)private->filebytes;
++                      skip = private->filebytes;
+               private->filebytes -= skip;
+       } else {
+               skip = 0;
diff -Nru libarchive-3.7.4/debian/patches/CVE-2026-4111-1.patch 
libarchive-3.7.4/debian/patches/CVE-2026-4111-1.patch
--- libarchive-3.7.4/debian/patches/CVE-2026-4111-1.patch       1970-01-01 
08:00:00.000000000 +0800
+++ libarchive-3.7.4/debian/patches/CVE-2026-4111-1.patch       2026-04-24 
11:36:34.000000000 +0700
@@ -0,0 +1,302 @@
+From: Tim Kientzle <[email protected]>
+Date: Sun, 1 Mar 2026 10:04:01 -0800
+Subject: Infinite loop in Rar5 decompression
+
+Found by: Elhanan Haenel
+
+Origin: backport, 
https://github.com/libarchive/libarchive/commit/ef53e2023d75a205cf7cbddb5d01c4cc592e9ce4
+---
+ Makefile.am                                        |   2 +
+ libarchive/test/CMakeLists.txt                     |   1 +
+ libarchive/test/test_read_format_rar5_loop_bug.c   |  53 ++++++
+ .../test/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 ae596b7..afe456f 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -513,6 +513,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 \
+@@ -891,6 +892,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 0baf2de..a683109 100644
+--- a/libarchive/test/CMakeLists.txt
++++ b/libarchive/test/CMakeLists.txt
+@@ -157,6 +157,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
diff -Nru libarchive-3.7.4/debian/patches/CVE-2026-4111-2.patch 
libarchive-3.7.4/debian/patches/CVE-2026-4111-2.patch
--- libarchive-3.7.4/debian/patches/CVE-2026-4111-2.patch       1970-01-01 
08:00:00.000000000 +0800
+++ libarchive-3.7.4/debian/patches/CVE-2026-4111-2.patch       2026-04-24 
11:36:34.000000000 +0700
@@ -0,0 +1,26 @@
+From: Tim Kientzle <[email protected]>
+Date: Sun, 1 Mar 2026 20:24:56 -0800
+Subject: Reject filters when the block length is nonsensical
+
+Credit: Grzegorz Antoniak @antekone
+
+Origin: upstream, 
https://github.com/libarchive/libarchive/commit/7273d04803a1e5a482f26d8d0fbaf2b204a72168
+---
+ 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 e8846a5..1a8a156 100644
+--- a/libarchive/archive_read_support_format_rar5.c
++++ b/libarchive/archive_read_support_format_rar5.c
+@@ -2919,7 +2919,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");
diff -Nru libarchive-3.7.4/debian/patches/CVE-2026-4424-1.patch 
libarchive-3.7.4/debian/patches/CVE-2026-4424-1.patch
--- libarchive-3.7.4/debian/patches/CVE-2026-4424-1.patch       1970-01-01 
08:00:00.000000000 +0800
+++ libarchive-3.7.4/debian/patches/CVE-2026-4424-1.patch       2026-04-24 
11:36:34.000000000 +0700
@@ -0,0 +1,55 @@
+From: elhananhaenel <[email protected]>
+Date: Sat, 7 Mar 2026 22:32:09 +0200
+Subject: rar: fix LZSS window size mismatch after PPMd block
+
+When a PPMd-compressed block updates dictionary_size, the LZSS window
+from a prior block is not reallocated. The allocation guard only checks
+if dictionary_size is zero or the window pointer is NULL, not whether
+the existing window is large enough. This allows copy_from_lzss_window()
+to read past the allocated buffer.
+
+Fix the guard to also check whether the current window is undersized.
+Add bounds checks in copy_from_lzss_window() and parse_filter() as
+defense in depth.
+
+Origin: upstream, 
https://github.com/libarchive/libarchive/commit/d379dc0b2976b7207d1ad78f5ed3eb99a5b6d375
+---
+ libarchive/archive_read_support_format_rar.c | 11 +++++++++--
+ 1 file changed, 9 insertions(+), 2 deletions(-)
+
+diff --git a/libarchive/archive_read_support_format_rar.c 
b/libarchive/archive_read_support_format_rar.c
+index 85b738a..0240af7 100644
+--- a/libarchive/archive_read_support_format_rar.c
++++ b/libarchive/archive_read_support_format_rar.c
+@@ -2474,7 +2474,8 @@ parse_codes(struct archive_read *a)
+       return (r);
+   }
+ 
+-  if (!rar->dictionary_size || !rar->lzss.window)
++  if (!rar->dictionary_size || !rar->lzss.window ||
++      (rar->lzss.mask + 1) < rar->dictionary_size)
+   {
+     /* Seems as though dictionary sizes are not used. Even so, minimize
+      * memory usage as much as possible.
+@@ -3078,6 +3079,11 @@ copy_from_lzss_window(struct archive_read *a, uint8_t 
*buffer,
+ 
+   windowoffs = lzss_offset_for_position(&rar->lzss, startpos);
+   firstpart = lzss_size(&rar->lzss) - windowoffs;
++  if (length > lzss_size(&rar->lzss)) {
++    archive_set_error(&a->archive, ARCHIVE_ERRNO_FILE_FORMAT,
++                      "Bad RAR file data");
++    return (ARCHIVE_FATAL);
++  }
+   if (firstpart < 0) {
+     archive_set_error(&a->archive, ARCHIVE_ERRNO_FILE_FORMAT,
+                       "Bad RAR file data");
+@@ -3240,7 +3246,8 @@ parse_filter(struct archive_read *a, const uint8_t 
*bytes, uint16_t length, uint
+   else
+     blocklength = prog ? prog->oldfilterlength : 0;
+ 
+-  if (blocklength > rar->dictionary_size)
++  if (blocklength > rar->dictionary_size ||
++      blocklength > (uint32_t)(rar->lzss.mask + 1))
+     return 0;
+ 
+   registers[3] = PROGRAM_SYSTEM_GLOBAL_ADDRESS;
diff -Nru libarchive-3.7.4/debian/patches/CVE-2026-4424-2.patch 
libarchive-3.7.4/debian/patches/CVE-2026-4424-2.patch
--- libarchive-3.7.4/debian/patches/CVE-2026-4424-2.patch       1970-01-01 
08:00:00.000000000 +0800
+++ libarchive-3.7.4/debian/patches/CVE-2026-4424-2.patch       2026-04-24 
11:36:34.000000000 +0700
@@ -0,0 +1,22 @@
+From: elhananhaenel <[email protected]>
+Date: Sun, 8 Mar 2026 15:29:46 +0200
+Subject: Fix -Wsign-compare: cast mask+1 to unsigned int
+
+Origin: upstream, 
https://github.com/libarchive/libarchive/commit/e1907c5832b6489c7b4198b0825f857c93a03c10
+---
+ libarchive/archive_read_support_format_rar.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/libarchive/archive_read_support_format_rar.c 
b/libarchive/archive_read_support_format_rar.c
+index 0240af7..5be42c7 100644
+--- a/libarchive/archive_read_support_format_rar.c
++++ b/libarchive/archive_read_support_format_rar.c
+@@ -2475,7 +2475,7 @@ parse_codes(struct archive_read *a)
+   }
+ 
+   if (!rar->dictionary_size || !rar->lzss.window ||
+-      (rar->lzss.mask + 1) < rar->dictionary_size)
++      (unsigned int)(rar->lzss.mask + 1) < rar->dictionary_size)
+   {
+     /* Seems as though dictionary sizes are not used. Even so, minimize
+      * memory usage as much as possible.
diff -Nru libarchive-3.7.4/debian/patches/CVE-2026-4426_CVE-2026-5121.patch 
libarchive-3.7.4/debian/patches/CVE-2026-4426_CVE-2026-5121.patch
--- libarchive-3.7.4/debian/patches/CVE-2026-4426_CVE-2026-5121.patch   
1970-01-01 08:00:00.000000000 +0800
+++ libarchive-3.7.4/debian/patches/CVE-2026-4426_CVE-2026-5121.patch   
2026-04-24 11:36:34.000000000 +0700
@@ -0,0 +1,1286 @@
+From: elhananhaenel <[email protected]>
+Date: Thu, 19 Mar 2026 16:43:29 +0200
+Subject: [PATCH] Add regression test for zisofs 32-bit heap overflow
+
+A crafted ISO with pz_log2_bs=2 and pz_uncompressed_size=0xFFFFFFF9
+causes an integer overflow in the block pointer allocation in
+zisofs_read_data(). On 32-bit, (ceil+1)*4 wraps size_t to 0, malloc(0)
+returns a tiny buffer, and the code writes ~4GB past it.
+
+The pz_log2_bs validation fix prevents this. Add a regression test with
+a crafted 48KB ISO that triggers the overflow on unfixed 32-bit builds.
+
+Origin: upstream, 
https://github.com/libarchive/libarchive/commit/a2a73a8f14b3208c7f6acbbc93265254a7c1efd0
+---
+ Makefile.am                                        |   2 +
+ libarchive/archive_read_support_format_iso9660.c   |   8 +
+ libarchive/test/CMakeLists.txt                     |   1 +
+ .../test/test_read_format_iso_zisofs_overflow.c    | 104 ++++++
+ ...=> test_read_format_iso_zisofs_overflow.iso.uu} | 401 ++++-----------------
+ 5 files changed, 179 insertions(+), 337 deletions(-)
+ create mode 100644 libarchive/test/test_read_format_iso_zisofs_overflow.c
+ create mode 100644 libarchive/test/test_read_format_iso_zisofs_overflow.iso.uu
+
+diff --git a/Makefile.am b/Makefile.am
+index afe456f..de3c2f2 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -498,6 +498,7 @@ libarchive_test_SOURCES= \
+       libarchive/test/test_read_format_isorr_new_bz2.c \
+       libarchive/test/test_read_format_isorr_rr_moved.c \
+       libarchive/test/test_read_format_isozisofs_bz2.c \
++      libarchive/test/test_read_format_iso_zisofs_overflow.c \
+       libarchive/test/test_read_format_lha.c \
+       libarchive/test/test_read_format_lha_bugfix_0.c \
+       libarchive/test/test_read_format_lha_filename.c \
+@@ -842,6 +843,7 @@ libarchive_test_EXTRA_DIST=\
+       libarchive/test/test_read_format_iso_rockridge_rr_moved.iso.Z.uu \
+       libarchive/test/test_read_format_iso_xorriso.iso.Z.uu \
+       libarchive/test/test_read_format_iso_zisofs.iso.Z.uu \
++      libarchive/test/test_read_format_iso_zisofs_overflow.iso.uu \
+       libarchive/test/test_read_format_lha_bugfix_0.lzh.uu \
+       libarchive/test/test_read_format_lha_filename_cp932.lzh.uu \
+       libarchive/test/test_read_format_lha_filename_utf16.lzh.uu \
+diff --git a/libarchive/archive_read_support_format_iso9660.c 
b/libarchive/archive_read_support_format_iso9660.c
+index db5cdb6..2a65ebf 100644
+--- a/libarchive/archive_read_support_format_iso9660.c
++++ b/libarchive/archive_read_support_format_iso9660.c
+@@ -2645,6 +2645,14 @@ parse_rockridge_ZF1(struct file_info *file, const 
unsigned char *data,
+               /* paged zlib */
+               file->pz = 1;
+               file->pz_log2_bs = data[3];
++              if (file->pz_log2_bs < 15 || file->pz_log2_bs > 17) {
++                      /* TODO: Return an error here instead of silently
++                       * disabling zisofs. That requires propagating an
++                       * error return through parse_rockridge() and its
++                       * callers. */
++                      file->pz = 0;
++                      return;
++              }
+               file->pz_uncompressed_size = archive_le32dec(&data[4]);
+       }
+ }
+diff --git a/libarchive/test/CMakeLists.txt b/libarchive/test/CMakeLists.txt
+index a683109..4c056fa 100644
+--- a/libarchive/test/CMakeLists.txt
++++ b/libarchive/test/CMakeLists.txt
+@@ -142,6 +142,7 @@ IF(ENABLE_TEST)
+     test_read_format_isorr_new_bz2.c
+     test_read_format_isorr_rr_moved.c
+     test_read_format_isozisofs_bz2.c
++    test_read_format_iso_zisofs_overflow.c
+     test_read_format_lha.c
+     test_read_format_lha_bugfix_0.c
+     test_read_format_lha_filename.c
+diff --git a/libarchive/test/test_read_format_iso_zisofs_overflow.c 
b/libarchive/test/test_read_format_iso_zisofs_overflow.c
+new file mode 100644
+index 0000000..bad52b1
+--- /dev/null
++++ b/libarchive/test/test_read_format_iso_zisofs_overflow.c
+@@ -0,0 +1,104 @@
++/*-
++ * Copyright (c) 2025
++ * 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"
++
++/*
++ * Verify that a crafted ISO9660 image with an invalid zisofs block-size
++ * exponent (pz_log2_bs) is handled gracefully.
++ *
++ * The ZF extension in the Rock Ridge entry stores pz_log2_bs as a raw
++ * byte from the image.  The zisofs spec only permits values 15-17.
++ * Values outside that range can cause:
++ *   - Undefined behavior via oversized bit shifts (any platform)
++ *   - Integer overflow in block pointer allocation on 32-bit platforms,
++ *     leading to a heap buffer overflow write
++ *
++ * The test image has pz_log2_bs=2 (out of spec) combined with
++ * pz_uncompressed_size=0xFFFFFFF9.  On 32-bit, (ceil+1)*4 overflows
++ * size_t to 0, malloc(0) returns a tiny buffer, and the code attempts
++ * to write ~4GB into it.  On 64-bit the allocation is huge and safely
++ * fails.
++ *
++ * We verify the fix by checking archive_entry_size() after reading the
++ * header.  When pz_log2_bs validation rejects the bad value (pz=0),
++ * the entry keeps its raw on-disk size (small).  Without the fix,
++ * the reader sets the entry size to pz_uncompressed_size (0xFFFFFFF9).
++ *
++ * We intentionally do NOT call archive_read_data() here.  Without the
++ * fix, the data-read path triggers a heap buffer overflow on 32-bit
++ * that silently corrupts the process heap, causing later tests to
++ * crash rather than this one.
++ */
++DEFINE_TEST(test_read_format_iso_zisofs_overflow)
++{
++      const char reffile[] = "test_read_format_iso_zisofs_overflow.iso";
++      struct archive *a;
++      struct archive_entry *ae;
++      int r = ARCHIVE_OK;
++      int found_regular_file = 0;
++
++      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));
++
++      while ((r = archive_read_next_header(a, &ae)) == ARCHIVE_OK ||
++          r == ARCHIVE_WARN) {
++              /*
++               * With the fix, pz_log2_bs=2 is rejected and pz is set
++               * to 0, so the entry keeps its small raw size from the
++               * ISO directory record.  Without the fix, zisofs sets
++               * the entry size to pz_uncompressed_size (0xFFFFFFF9).
++               *
++               * We intentionally do NOT call archive_read_data().
++               * Without the fix, the data-read path triggers a heap
++               * buffer overflow on 32-bit that silently corrupts the
++               * process heap, causing later tests to crash rather
++               * than this one.
++               */
++              if (archive_entry_filetype(ae) == AE_IFREG) {
++                      la_int64_t sz = archive_entry_size(ae);
++                      failure("entry \"%s\" has size %jd"
++                          "; expected < 1 MiB"
++                          " (if size is 4294966265 = 0xFFFFFFF9, the"
++                          " pz_log2_bs validation is missing)",
++                          archive_entry_pathname(ae), (intmax_t)sz);
++                      assert(sz < 1024 * 1024);
++                      found_regular_file = 1;
++              }
++      }
++
++      /* Iteration must have completed normally. */
++      assertEqualInt(ARCHIVE_EOF, r);
++
++      /* The PoC image contains a regular file; if we never saw one,
++       * something is wrong with the test image. */
++      assert(found_regular_file);
++
++      assertEqualIntA(a, ARCHIVE_OK, archive_read_close(a));
++      assertEqualInt(ARCHIVE_OK, archive_read_free(a));
++}
+diff --git a/libarchive/test/test_read_format_iso_zisofs_overflow.iso.uu 
b/libarchive/test/test_read_format_iso_zisofs_overflow.iso.uu
+new file mode 100644
+index 0000000000..5e7dcc3750
+--- /dev/null
++++ b/libarchive/test/test_read_format_iso_zisofs_overflow.iso.uu
+@@ -0,0 +1,1096 @@
++begin 664 test_read_format_iso_zisofs_overflow.iso
++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````````````````````````````````````````````````````````````
++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````````````````````````````````````````````````````````````
++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````````````````````````````````````````````````````````````
++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```````````!0T0P,#$!````````````````````````````````````````
++M````4$]#7U=2251%`````````````````````````````````````````!@`
++M```````8```````````````````````````````````````````!```!`0``
++M`0`("``*````````"A(`````````````$@`````B`!,````````3``@`````
++M"`!Z`1D,`````@```0```0$`````````````````````````````````````
++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`````````````````````````````````````````/]#1#`P,0$`````````
++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`````````````0`3`````0``````````````````````````````````````
++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`!,````````3``@`
++M````"`!Z`1D,`````@```0```0$`4U`'`;[O`%!8+`'M00````!![0(`````
++M```"``````````````````````$````````!(@`3````````$P`(``````@`
++M>@$9#`````(```$```$!`7T`%````````!00"``````($'H!&0P````````!
++M```!#D]615)&3$]7+D))3CLQ`%I&$`%P>@0"^?O__P````!.31$!`$]615)&
++M3$]7+D))3E!8+`&D@0````"!I`$````````!``````````````````````(`
++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`````````````#?D4Y;)V]8'^?O__P0"``!!0D-$04)#1$%"0T1!0D-$04)#
++M1$%"0T1!0D-$04)#1$%"0T1!0D-$04)#1$%"0T1!0D-$04)#1$%"0T1!0D-$
++M04)#1$%"0T1!0D-$04)#1$%"0T1!0D-$04)#1$%"0T1!0D-$04)#1$%"0T1!
++M0D-$04)#1$%"0T1!0D-$04)#1$%"0T1!0D-$04)#1$%"0T1!0D-$04)#1$%"
++M0T1!0D-$04)#1$%"0T1!0D-$04)#1$%"0T1!0D-$04)#1$%"0T1!0D-$04)#
++M1$%"0T1!0D-$04)#1$%"0T1!0D-$04)#1$%"0T1!0D-$04)#1$%"0T1!0D-$
++M04)#1$%"0T1!0D-$04)#1$%"0T1!0D-$04)#1$%"0T1!0D-$04)#1$%"0T1!
++M0D-$04)#1$%"0T1!0D-$04)#1$%"0T1!0D-$04)#1$%"0T1!0D-$04)#1$%"
++M0T1!0D-$04)#1$%"0T1!0D-$04)#1$%"0T1!0D-$04)#1$%"0T1!0D-$04)#
++M1$%"0T1!0D-$04)#1$%"0T1!0D-$04)#1$%"0T1!0D-$04)#1$%"0T1!0D-$
++M04)#1$%"0T1!0D-$04)#1$%"0T1!0D-$04)#1$%"0T1!0D-$04)#1$%"0T1!
++M0D-$04)#1$%"0T1!0D-$04)#1$%"0T1!0D-$04)#1$%"0T1!0D-$04)#1$%"
++M0T1!0D-$04)#1$%"0T1!0D-$04)#1$%"0T1!0D-$04)#1$%"0T1!0D-$04)#
++M1$%"0T1!0D-$04)#1$%"0T1!0D-$04)#1$%"0T1!0D-$04)#1$%"0T1!0D-$
++M04)#1$%"0T1!0D-$04)#1$%"0T1!0D-$04)#1$%"0T1!0D-$04)#1$%"0T1!
++M0D-$04)#1$%"0T1!0D-$04)#1$%"0T1!0D-$04)#1$%"0T1!0D-$04)#1$%"
++M0T1!0D-$04)#1$%"0T1!0D-$04)#1$%"0T1!0D-$04)#1$%"0T1!0D-$04)#
++M1$%"0T1!0D-$04)#1$%"0T1!0D-$04)#1$%"0T1!0D-$04)#1$%"0T1!0D-$
++M04)#1$%"0T1!0D-$04)#1$%"0T1!0D-$04)#1$%"0T1!0D-$04)#1$%"0T1!
++M0D-$04)#1$%"0T1!0D-$04)#1$%"0T1!0D-$04)#1$%"0T1!0D-$04)#1$%"
++M0T1!0D-$04)#1$%"0T1!0D-$04)#1$%"0T1!0D-$04)#1$%"0T1!0D-$04)#
++M1$%"0T1!0D-$04)#1$%"0T1!0D-$04)#1$%"0T1!0D-$04)#1$%"0T1!0D-$
++M04)#1$%"0T1!0D-$04)#1$%"0T1!0D-$04)#1$%"0T1!0D-$04)#1$%"0T1!
++M0D-$04)#1$%"0T1!0D-$04)#1$%"0T1!0D-$04)#1$%"0T1!0D-$04)#1$%"
++M0T1!0D-$04)#1$%"0T1!0D-$04)#1$%"0T1!0D-$04)#1$%"0T1!0D-$04)#
++M1$%"0T1!0D-$04)#1$%"0T1!0D-$04)#1$%"0T1!0D-$04)#1$%"0T1!0D-$
++M04)#1$%"0T1!0D-$04)#1$%"0T1!0D-$04)#1$%"0T1!0D-$04)#1$%"0T1!
++M0D-$04)#1$%"0T1!0D-$04)#1$%"0T1!0D-$04)#1$%"0T1!0D-$04)#1$%"
++M0T1!0D-$04)#1$%"0T1!0D-$04)#1$%"0T1!0D-$04)#1$%"0T1!0D-$04)#
++M1$%"0T1!0D-$04)#1$%"0T1!0D-$04)#1$%"0T1!0D-$04)#1$%"0T1!0D-$
++M04)#1$%"0T1!0D-$04)#1$%"0T1!0D-$04)#1$%"0T1!0D-$04)#1$%"0T1!
++M0D-$04)#1$%"0T1!0D-$04)#1$%"0T1!0D-$04)#1$%"0T1!0D-$04)#1$%"
++M0T1!0D-$04)#1$%"0T1!0D-$04)#1$%"0T1!0D-$04)#1$%"0T1!0D-$04)#
++M1$%"0T1!0D-$04)#1$%"0T1!0D-$04)#1$%"0T1!0D-$04)#1$%"0T1!0D-$
++M04)#1$%"0T1!0D-$04)#1$%"0T1!0D-$04)#1$%"0T1!0D-$04)#1$%"0T1!
++M0D-$04)#1$%"0T1!0D-$04)#1$%"0T1!0D-$04)#1$%"0T1!0D-$04)#1$%"
++M0T1!0D-$04)#1$%"0T1!0D-$04)#1$%"0T1!0D-$04)#1$%"0T1!0D-$04)#
++M1$%"0T1!0D-$04)#1$%"0T1!0D-$04)#1$%"0T1!0D-$04)#1$%"0T1!0D-$
++M04)#1$%"0T1!0D-$04)#1$%"0T1!0D-$04)#1$%"0T1!0D-$04)#1$%"0T1!
++M0D-$04)#1$%"0T1!0D-$04)#1$%"0T1!0D-$04)#1$%"0T1!0D-$04)#1$%"
++M0T1!0D-$04)#1$%"0T1!0D-$04)#1$%"0T1!0D-$04)#1$%"0T1!0D-$04)#
++M1$%"0T1!0D-$04)#1$%"0T1!0D-$04)#1$%"0T1!0D-$04)#1$%"0T1!0D-$
++M04)#1$%"0T1!0D-$04)#1$%"0T1!0D-$04)#1$%"0T1!0D-$04)#1$%"0T1!
++M0D-$04)#1$%"0T1!0D-$04)#1$%"0T1!0D-$04)#1$%"0T1!0D-$04)#1$%"
++M0T1!0D-$04)#1$%"0T1!0D-$04)#1$%"0T1!0D-$04)#1$%"0T1!0D-$04)#
++M1$%"0T1!0D-$04)#1$%"0T1!0D-$04)#1$%"0T1!0D-$04)#1$%"0T1!0D-$
++M04)#1```````````````````````````````````````````````````````
++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````````````````````````````````````````````````````````````
++,````````````````
++`
++end
diff -Nru libarchive-3.7.4/debian/patches/series 
libarchive-3.7.4/debian/patches/series
--- libarchive-3.7.4/debian/patches/series      2025-07-24 21:40:32.000000000 
+0700
+++ libarchive-3.7.4/debian/patches/series      2026-04-24 11:36:34.000000000 
+0700
@@ -7,3 +7,11 @@
 CVE-2025-5915.patch
 CVE-2025-5916.patch
 CVE-2025-5917.patch
+CVE-2025-5918-pre1.patch
+CVE-2025-5918_1.patch
+CVE-2025-5918_2.patch
+CVE-2026-4111-1.patch
+CVE-2026-4111-2.patch
+CVE-2026-4424-1.patch
+CVE-2026-4424-2.patch
+CVE-2026-4426_CVE-2026-5121.patch
diff -Nru libarchive-3.7.4/debian/salsa-ci.yml 
libarchive-3.7.4/debian/salsa-ci.yml
--- libarchive-3.7.4/debian/salsa-ci.yml        1970-01-01 08:00:00.000000000 
+0800
+++ libarchive-3.7.4/debian/salsa-ci.yml        2026-04-24 11:36:34.000000000 
+0700
@@ -0,0 +1,6 @@
+include:
+  - https://salsa.debian.org/salsa-ci-team/pipeline/raw/master/salsa-ci.yml
+  - 
https://salsa.debian.org/salsa-ci-team/pipeline/raw/master/pipeline-jobs.yml
+
+variables:
+  RELEASE: 'trixie'

--- End Message ---
--- Begin Message ---
Package: release.debian.org
Version: 13.5

This update has been released as part of Debian 13.5.

--- End Message ---

Reply via email to