Debian Patches
Status for libarchive/3.6.2-1+deb12u4
| Patch | Description | Author | Forwarded | Bugs | Origin | Last update |
|---|---|---|---|---|---|---|
| typos.patch | Correct some typographical errors. | Peter Pentchev <roam@ringlet.net> | yes | 2022-03-29 | ||
| iconv-pkgconfig.patch | Do not add "iconv" to pkg-config unless it is needed | Peter Pentchev <roam@ringlet.net> | yes | 2022-12-24 | ||
| robust-error-reporting.patch | tar: make error reporting more robust and use correct errno | Ed Maste <emaste@freebsd.org> | no | upstream, https://github.com/libarchive/libarchive/commit/6110e9c82d8ba830c3440f36b990483ceaaea52c | 2024-03-30 | |
| fix-OOB-in-rar-e8-filter-2135.patch | fix: OOB in rar e8 filter (#2135) This patch fixes an out-of-bound error in rar e8 filter. |
Wei-Cheng Pan <legnaleurc@gmail.com> | yes | debian upstream | https://github.com/libarchive/libarchive/commit/eb7939b24a681a04648a59cdebd386b1e9dc9237 | 2024-04-22 |
| fix-OOB-in-rar-delta-filter-2148.patch | fix: OOB in rar delta filter (#2148) Ensure that `src` won't move ahead of `dst`, so `src` will not OOB. Since `dst` won't move in this function, and we are only increasing `src` position, this check should be enough. It should be safe to early return because this function does not allocate resources. |
Wei-Cheng Pan <legnaleurc@gmail.com> | no | https://github.com/libarchive/libarchive/commit/a1cb648d52f5b6d3f31184d9b6a7cbca628459b7 | 2024-04-29 | |
| fix-OOB-in-rar-audio-filter-2149.patch | fix: OOB in rar audio filter (#2149) This patch ensures that `src` won't move ahead of `dst`, so `src` will not OOB. Similar situation like in a1cb648. |
Wei-Cheng Pan <legnaleurc@gmail.com> | no | https://github.com/libarchive/libarchive/commit/3006bc5d02ad3ae3c4f9274f60c1f9d2d834734b | 2024-04-29 | |
| rar4-reader-protect-copy_from_lzss_window_to_unp-217.patch | rar4 reader: protect copy_from_lzss_window_to_unp() (#2172) copy_from_lzss_window_to_unp unnecessarily took an `int` parameter where both of its callers were holding a `size_t`. A lzss opcode chain could be constructed that resulted in a negative copy length, which when passed into memcpy would result in a very, very large positive number. Switching copy_from_lzss_window_to_unp to take a `size_t` allows it to properly bounds-check length. In addition, this patch also ensures that `length` is not itself larger than the destination buffer. |
"Dustin L. Howett" <dustin@howett.net> | yes | debian upstream | https://github.com/libarchive/libarchive/commit/eac15e252010c1189a5c0f461364dbe2cd2a68b1 | 2024-05-09 |
| CVE-2025-5914.patch | rar: Fix double free with over 4 billion nodes If a system is capable of handling 4 billion nodes in memory, a double free could occur because of an unsigned integer overflow leading to a realloc call with size argument of 0. Eventually, the client will release that memory again, triggering a double free. |
Tobias Stoeckmann <tobias@stoeckmann.org> | no | 2025-05-10 | ||
| CVE-2025-5915.patch | [PATCH 1/4] A test case for Issue #2565. This just takes the PoC from that issue and wraps it into a standard test. I've not yet used this to reproduce the issue, much less to diagnose the root cause. |
Tim Kientzle <kientzle@acm.org> | no | 2025-04-06 | ||
| CVE-2025-5916.patch | warc: Prevent signed integer overflow If a warc archive claims to have more than INT64_MAX - 4 content bytes, the inevitable failure to skip all these bytes could lead to parsing data which should be ignored instead. The test case contains a conversation entry with that many bytes and if the entry is not properly skipped, the warc implementation would read the conversation data as a new file entry. |
Tobias Stoeckmann <tobias@stoeckmann.org> | no | 2025-04-06 | ||
| CVE-2025-5917.patch | Fix overflow in build_ustar_entry The calculations for the suffix and prefix can increment the endpoint for a trailing slash. Hence the limits used should be one lower than the maximum number of bytes. |
Brian Campbell <Brian.Campbell@ed.ac.uk> | no | 2025-04-24 | ||
| CVE-2025-5918-pre1.patch | 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. |
Tobias Stoeckmann <stoeckmann@users.noreply.github.com> | no | 2025-04-06 | ||
| CVE-2025-5918_1.patch | 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 ``` compared to ``` $ bsdtar -tf .../test_read_format_rar_ppmd_use_after_free.rar ``` 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. (cherry picked from commit dcbf1e0ededa95849f098d154a25876ed5754bcf) |
Tobias Stoeckmann <stoeckmann@users.noreply.github.com> | no | https://github.com/libarchive/libarchive/commit/dcbf1e0ededa95849f098d154a25876ed5754bcf | 2025-04-15 | |
| CVE-2025-5918_2.patch | 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 |
Tobias Stoeckmann <tobias@stoeckmann.org> | no | https://github.com/libarchive/libarchive/commit/51b4c35bb38b7df4af24de7f103863dd79129b01 | 2025-05-27 | |
| CVE-2026-4111-1.patch | Infinite loop in Rar5 decompression Found by: Elhanan Haenel |
Tim Kientzle <kientzle@acm.org> | no | backport, https://github.com/libarchive/libarchive/commit/ef53e2023d75a205cf7cbddb5d01c4cc592e9ce4 | 2026-03-01 | |
| CVE-2026-4111-2.patch | Reject filters when the block length is nonsensical | Tim Kientzle <kientzle@acm.org> | no | upstream, https://github.com/libarchive/libarchive/commit/7273d04803a1e5a482f26d8d0fbaf2b204a72168 | 2026-03-01 | |
| CVE-2026-4424-1.patch | 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. |
elhananhaenel <elhanan.haenel@mail.huji.ac.il> | no | upstream, https://github.com/libarchive/libarchive/commit/d379dc0b2976b7207d1ad78f5ed3eb99a5b6d375 | 2026-03-07 | |
| CVE-2026-4424-2.patch | Fix -Wsign-compare: cast mask+1 to unsigned int | elhananhaenel <elhanan.haenel@mail.huji.ac.il> | no | upstream, https://github.com/libarchive/libarchive/commit/e1907c5832b6489c7b4198b0825f857c93a03c10 | 2026-03-08 | |
| CVE-2026-4426_CVE-2026-5121.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. |
elhananhaenel <elhanan.haenel@mail.huji.ac.il> | no | upstream, https://github.com/libarchive/libarchive/commit/a2a73a8f14b3208c7f6acbbc93265254a7c1efd0 | 2026-03-19 |
All known versions for source package 'libarchive'
- 3.8.7-1 (sid, forky)
- 3.7.4-4+deb13u1 (trixie)
- 3.6.2-1+deb12u4 (bookworm)
- 3.6.2-1+deb12u2 (bookworm-security)
