From 05f188808a5e59c3612f0f0d2e2ac0b38fba8978 Mon Sep 17 00:00:00 2001 From: CentOS Sources Date: Nov 08 2022 06:59:23 +0000 Subject: import libarchive-3.3.3-4.el8 --- diff --git a/SOURCES/libarchive-3.3.3-Fix-size-filed-in-pax-header.patch b/SOURCES/libarchive-3.3.3-Fix-size-filed-in-pax-header.patch new file mode 100644 index 0000000..1339f91 --- /dev/null +++ b/SOURCES/libarchive-3.3.3-Fix-size-filed-in-pax-header.patch @@ -0,0 +1,41 @@ +From afef3d7fc131df0dac09a46b8673898860a193db Mon Sep 17 00:00:00 2001 +From: Zdenek Zambersky +Date: Tue, 11 Jan 2022 14:43:27 +0100 +Subject: [PATCH] Fixed size filed in pax header + +--- + libarchive/archive_write_set_format_pax.c | 10 +++++++--- + 1 file changed, 7 insertions(+), 3 deletions(-) + +diff --git a/libarchive/archive_write_set_format_pax.c b/libarchive/archive_write_set_format_pax.c +index a2b27107..52911491 100644 +--- a/libarchive/archive_write_set_format_pax.c ++++ b/libarchive/archive_write_set_format_pax.c +@@ -1028,10 +1028,8 @@ archive_write_pax_header(struct archive_write *a, + archive_string_init(&entry_name); + archive_strcpy(&entry_name, archive_entry_pathname(entry_main)); + +- /* If file size is too large, add 'size' to pax extended attrs. */ ++ /* If file size is too large, we need pax extended attrs. */ + if (archive_entry_size(entry_main) >= (((int64_t)1) << 33)) { +- add_pax_attr_int(&(pax->pax_header), "size", +- archive_entry_size(entry_main)); + need_extension = 1; + } + +@@ -1347,6 +1345,12 @@ archive_write_pax_header(struct archive_write *a, + mapsize + pax->sparse_map_padding + sparse_total); + } + ++ /* If file size is too large, add 'size' to pax extended attrs. */ ++ if (archive_entry_size(entry_main) >= (((int64_t)1) << 33)) { ++ add_pax_attr_int(&(pax->pax_header), "size", ++ archive_entry_size(entry_main)); ++ } ++ + /* Format 'ustar' header for main entry. + * + * The trouble with file size: If the reader can't understand +-- +2.34.3 + diff --git a/SPECS/libarchive.spec b/SPECS/libarchive.spec index 0ce2924..9afc7b1 100644 --- a/SPECS/libarchive.spec +++ b/SPECS/libarchive.spec @@ -2,7 +2,7 @@ Name: libarchive Version: 3.3.3 -Release: 3%{?dist} +Release: 4%{?dist} Summary: A library for handling streaming archive formats License: BSD @@ -22,6 +22,8 @@ Patch8: libarchive-3.3.2-CVE-2019-19221.patch Patch9: libarchive-3.3.3-fixed-zstd_test.patch Patch10: libarchive-3.3.3-CVE-2021-23177.patch Patch11: libarchive-3.3.3-CVE-2021-31566.patch +# Source: https://github.com/libarchive/libarchive/commit/b1b501161013296d19dfe9acb84a341c8a1755b9 +Patch12: %{name}-3.3.3-Fix-size-filed-in-pax-header.patch @@ -230,6 +232,9 @@ run_testsuite %changelog +* Tue Jul 12 2022 Lukas Javorsky - 3.3.3-4 +- Resolves: #2037839 + * Tue Dec 21 2021 Matej Mužila - 3.3.3-3 - Do not follow symlinks when processing the fixup list (CVE-2021-31566)