diff options
author | Patrick J Volkerding <volkerdi@slackware.com> | 2022-08-13 19:12:40 +0000 |
---|---|---|
committer | Eric Hameleers <alien@slackware.com> | 2022-08-14 07:00:14 +0200 |
commit | 742038eaef1673f65b05e780bb65ed525ce8de01 (patch) | |
tree | acfe406b8864c67cdc5530afb543ce3d94dfc6c6 /source | |
parent | b3f4dc81d9f30234f6818ef692b4d87bab6b2340 (diff) | |
download | current-742038eaef1673f65b05e780bb65ed525ce8de01.tar.gz current-742038eaef1673f65b05e780bb65ed525ce8de01.tar.xz |
Sat Aug 13 19:12:40 UTC 202220220813191240
a/glibc-zoneinfo-2022b-noarch-1.txz: Upgraded.
This package provides the latest timezone updates.
a/xz-5.2.6-x86_64-1.txz: Upgraded.
d/meson-0.63.1-x86_64-1.txz: Upgraded.
d/strace-5.19-x86_64-1.txz: Upgraded.
l/libjpeg-turbo-2.1.4-x86_64-1.txz: Upgraded.
l/libnl3-3.7.0-x86_64-1.txz: Upgraded.
Diffstat (limited to 'source')
-rwxr-xr-x | source/a/xz/xz.SlackBuild | 4 | ||||
-rw-r--r-- | source/a/xz/xzgrep-ZDI-CAN-16587.patch | 94 |
2 files changed, 1 insertions, 97 deletions
diff --git a/source/a/xz/xz.SlackBuild b/source/a/xz/xz.SlackBuild index 379412d4a..c23d2d2b0 100755 --- a/source/a/xz/xz.SlackBuild +++ b/source/a/xz/xz.SlackBuild @@ -24,7 +24,7 @@ cd $(dirname $0) ; CWD=$(pwd) PKGNAM=xz VERSION=${VERSION:-$(echo $PKGNAM-*.tar.xz | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} -BUILD=${BUILD:-4} +BUILD=${BUILD:-1} # Automatically determine the architecture we're building on: if [ -z "$ARCH" ]; then @@ -89,8 +89,6 @@ find . \ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ -exec chmod 644 {} \+ -cat $CWD/xzgrep-ZDI-CAN-16587.patch | patch -p1 --verbose || exit 1 - CFLAGS="$SLKCFLAGS" \ CXXFLAGS="$SLKCFLAGS" \ ./configure \ diff --git a/source/a/xz/xzgrep-ZDI-CAN-16587.patch b/source/a/xz/xzgrep-ZDI-CAN-16587.patch deleted file mode 100644 index 406ded590..000000000 --- a/source/a/xz/xzgrep-ZDI-CAN-16587.patch +++ /dev/null @@ -1,94 +0,0 @@ -From 69d1b3fc29677af8ade8dc15dba83f0589cb63d6 Mon Sep 17 00:00:00 2001 -From: Lasse Collin <lasse.collin@tukaani.org> -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 \<newline> 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 b180936..e5186ba 100644 ---- a/src/scripts/xzgrep.in -+++ b/src/scripts/xzgrep.in -@@ -180,22 +180,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>&- --- -2.35.1 - |