diff --git a/backport-CVE-2022-1271.patch b/backport-CVE-2022-1271.patch deleted file mode 100644 index 5e83d687ac41ed3e6f3ad7a3cd8a66c0ae79a9ba..0000000000000000000000000000000000000000 --- a/backport-CVE-2022-1271.patch +++ /dev/null @@ -1,94 +0,0 @@ -From 69d1b3fc29677af8ade8dc15dba83f0589cb63d6 Mon Sep 17 00:00:00 2001 -From: Lasse Collin -Date: Tue, 29 Mar 2022 19:19:12 +0300 -Subject: [PATCH] xzgrep: Fix escaping of malicious filenames (ZDI-CAN-16587). - -Malicious filenames can make xzgrep to write to arbitrary files -or (with a GNU sed extension) lead to arbitrary code execution. - -xzgrep from XZ Utils versions up to and including 5.2.5 are -affected. 5.3.1alpha and 5.3.2alpha are affected as well. -This patch works for all of them. - -This bug was inherited from gzip's zgrep. gzip 1.12 includes -a fix for zgrep. - -The issue with the old sed script is that with multiple newlines, -the N-command will read the second line of input, then the -s-commands will be skipped because it's not the end of the -file yet, then a new sed cycle starts and the pattern space -is printed and emptied. So only the last line or two get escaped. - -One way to fix this would be to read all lines into the pattern -space first. However, the included fix is even simpler: All lines -except the last line get a backslash appended at the end. To ensure -that shell command substitution doesn't eat a possible trailing -newline, a colon is appended to the filename before escaping. -The colon is later used to separate the filename from the grep -output so it is fine to add it here instead of a few lines later. - -The old code also wasn't POSIX compliant as it used \n in the -replacement section of the s-command. Using \ is the -POSIX compatible method. - -LC_ALL=C was added to the two critical sed commands. POSIX sed -manual recommends it when using sed to manipulate pathnames -because in other locales invalid multibyte sequences might -cause issues with some sed implementations. In case of GNU sed, -these particular sed scripts wouldn't have such problems but some -other scripts could have, see: - -info '(sed)Locale Considerations' - -This vulnerability was discovered by: -cleemy desu wayo working with Trend Micro Zero Day Initiative - -Thanks to Jim Meyering and Paul Eggert discussing the different -ways to fix this and for coordinating the patch release schedule -with gzip. ---- - src/scripts/xzgrep.in | 20 ++++++++++++-------- - 1 file changed, 12 insertions(+), 8 deletions(-) - -diff --git a/src/scripts/xzgrep.in b/src/scripts/xzgrep.in -index 9db5c3a..f64dddb 100644 ---- a/src/scripts/xzgrep.in -+++ b/src/scripts/xzgrep.in -@@ -179,22 +179,26 @@ for i; do - { test $# -eq 1 || test $no_filename -eq 1; }; then - eval "$grep" - else -+ # Append a colon so that the last character will never be a newline -+ # which would otherwise get lost in shell command substitution. -+ i="$i:" -+ -+ # Escape & \ | and newlines only if such characters are present -+ # (speed optimization). - case $i in - (*' - '* | *'&'* | *'\'* | *'|'*) -- i=$(printf '%s\n' "$i" | -- sed ' -- $!N -- $s/[&\|]/\\&/g -- $s/\n/\\n/g -- ');; -+ i=$(printf '%s\n' "$i" | LC_ALL=C sed 's/[&\|]/\\&/g; $!s/$/\\/');; - esac -- sed_script="s|^|$i:|" -+ -+ # $i already ends with a colon so don't add it here. -+ sed_script="s|^|$i|" - - # Fail if grep or sed fails. - r=$( - exec 4>&1 -- (eval "$grep" 4>&-; echo $? >&4) 3>&- | sed "$sed_script" >&3 4>&- -+ (eval "$grep" 4>&-; echo $? >&4) 3>&- | -+ LC_ALL=C sed "$sed_script" >&3 4>&- - ) || r=2 - exit $r - fi >&3 5>&- --- -1.8.3.1 - diff --git a/xz-5.2.5.tar.xz b/xz-5.2.5.tar.xz deleted file mode 100644 index 3f3f4912bd944a921c2a89ba4a2982360787b0dd..0000000000000000000000000000000000000000 Binary files a/xz-5.2.5.tar.xz and /dev/null differ diff --git a/xz-5.2.7.tar.gz b/xz-5.2.7.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..9a2ebd6153ef37ba315bd8fc0776b5db27008414 Binary files /dev/null and b/xz-5.2.7.tar.gz differ diff --git a/xz.spec b/xz.spec index 8b04edd8181d578d3d93821e54beed3813cd441d..5b9235d998a1a8794a9e0031c798bc7023ee2e1f 100644 --- a/xz.spec +++ b/xz.spec @@ -1,15 +1,13 @@ Name: xz -Version: 5.2.5 -Release: 3 +Version: 5.2.7 +Release: 1 Summary: A free general-purpose data compreession software with LZMA2 algorithm -License: Public Domain, LGPLv2.1 and GPLv2+ +License: GPLv3 URL: http://tukaani.org/xz Source0: http://tukaani.org/%{name}/%{name}-%{version}.tar.xz Source1: colorxzgrep.sh Source2: colorxzgrep.csh -Patch6000: backport-CVE-2022-1271.patch - BuildRequires: perl-interpreter gcc Requires: %{name} = %{version}-%{release} @@ -111,6 +109,13 @@ LD_LIBRARY_PATH=$PWD/src/liblzma/.libs make check %{_mandir}/de/man1/*xz* %changelog + +* Sat Oct 29 2022 hkgy - 5.2.7 +- Type:Bump version +- ID:NA +- SUG:NA +- DESC:update to 5.2.7 + * Fri Sep 23 2022 wangjiang - 5.2.5-3 - Type:enhancement - CVE:NA