diff options
author | Patrick J Volkerding <volkerdi@slackware.com> | 2022-02-15 20:00:48 +0000 |
---|---|---|
committer | Eric Hameleers <alien@slackware.com> | 2022-02-16 13:29:58 +0100 |
commit | c9881ad9794a314c7c9d106a6f82d19f07cda088 (patch) | |
tree | 196a5646afe2bf7edaab38ad306d42a6d56967fe /patches/source/util-linux/doinst.sh | |
parent | 9a5f4fd634196e1d4257a31e89f24291b0398bc5 (diff) | |
download | current-ead37adbc86cac6f528ab175edc6973208491f50.tar.gz current-ead37adbc86cac6f528ab175edc6973208491f50.tar.xz |
Tue Feb 15 20:00:48 UTC 202220220215200048_15.0
patches/packages/aaa_base-15.0-x86_64-4_slack15.0.txz: Rebuilt.
If root's mailbox did not already exist, it would be created with insecure
permissions leading to possible local information disclosure. This update
ensures that a new mailbox will be created with proper permissions and
ownership, and corrects the permissions on an existing mailbox if they are
found to be incorrect. Thanks to Martin for the bug report.
(* Security fix *)
patches/packages/util-linux-2.37.4-x86_64-1_slack15.0.txz: Upgraded.
This release fixes a security issue in chsh(1) and chfn(8):
By default, these utilities had been linked with libreadline, which allows
the INPUTRC environment variable to be abused to produce an error message
containing data from an arbitrary file. So, don't link these utilities with
libreadline as it does not use secure_getenv() (or a similar concept), or
sanitize the config file path to avoid vulnerabilities that could occur in
set-user-ID or set-group-ID programs.
For more information, see:
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-0563
(* Security fix *)
Diffstat (limited to 'patches/source/util-linux/doinst.sh')
-rw-r--r-- | patches/source/util-linux/doinst.sh | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/patches/source/util-linux/doinst.sh b/patches/source/util-linux/doinst.sh new file mode 100644 index 000000000..8277c0e65 --- /dev/null +++ b/patches/source/util-linux/doinst.sh @@ -0,0 +1,33 @@ +config() { + NEW="$1" + OLD="$(dirname $NEW)/$(basename $NEW .new)" + # If there's no config file by that name, mv it over: + if [ ! -r $OLD ]; then + mv $NEW $OLD + elif [ "$(cat $OLD | md5sum)" = "$(cat $NEW | md5sum)" ]; then + # toss the redundant copy + rm $NEW + fi + # Otherwise, we leave the .new copy for the admin to consider... +} + +# Keep same perms on rc.serial.new: +if [ -e etc/rc.d/rc.serial ]; then + cp -a etc/rc.d/rc.serial etc/rc.d/rc.serial.new.incoming + cat etc/rc.d/rc.serial.new > etc/rc.d/rc.serial.new.incoming + mv etc/rc.d/rc.serial.new.incoming etc/rc.d/rc.serial.new +fi + +config etc/rc.d/rc.serial.new +config etc/rc.d/rc.setterm.new +config etc/serial.conf.new + +for configfile in chfn.new chsh.new login.new runuser.new runuser-l.new su.new su-l.new ; do + if [ -r etc/pam.d/$configfile ]; then + config etc/pam.d/$configfile + fi +done + +if [ -r etc/default/su.new ]; then + config etc/default/su.new +fi |