Skip to Content.
Sympa Menu

sm-commit - Re: [[SM-Commit] ] GIT changes to master grimoire by Pavel Vinogradov (6327a9e951471af34adac3985f84a05c71ebef8c)

sm-commit AT lists.ibiblio.org

Subject: Source Mage code commit list

List archive

Chronological Thread  
  • From: Ismael Luceno <ismael AT iodev.co.uk>
  • To: Pavel Vinogradov <public AT sourcemage.org>
  • Cc: sm-commit AT lists.ibiblio.org, sm-commit AT lists.sourcemage.org
  • Subject: Re: [[SM-Commit] ] GIT changes to master grimoire by Pavel Vinogradov (6327a9e951471af34adac3985f84a05c71ebef8c)
  • Date: Wed, 4 Jun 2025 15:51:25 +0200

Please provide a patch to the Makefile.in file instead of calling
autoreconf.

On 30/May/2025 18:57, Pavel Vinogradov wrote:
> GIT changes to master grimoire by Pavel Vinogradov <public AT sourcemage.org>:
>
> utils/coreutils/DEPENDS | 2
> utils/coreutils/DETAILS | 2
> utils/coreutils/HISTORY | 6 +
> utils/coreutils/PRE_BUILD | 6 +
> utils/coreutils/patches/CVE-2025-5278.patch | 123
> ++++++++++++++++++++++++++++
> 5 files changed, 137 insertions(+), 2 deletions(-)
>
> New commits:
> commit 6327a9e951471af34adac3985f84a05c71ebef8c
> Author: Pavel Vinogradov <public AT sourcemage.org>
> Commit: Pavel Vinogradov <public AT sourcemage.org>
>
> utils/coreutils: SECURITY_PATCH++ for 9.7 and automake 1.18 fix
>
> diff --git a/utils/coreutils/DEPENDS b/utils/coreutils/DEPENDS
> index e9391c7..b34012c 100755
> --- a/utils/coreutils/DEPENDS
> +++ b/utils/coreutils/DEPENDS
> @@ -1,3 +1,5 @@
> +depends autoconf &&
> +depends automake &&
> depends xz-utils &&
> depends smgl-fhs &&
>
> diff --git a/utils/coreutils/DETAILS b/utils/coreutils/DETAILS
> index a77957d..7ef993b 100755
> --- a/utils/coreutils/DETAILS
> +++ b/utils/coreutils/DETAILS
> @@ -1,7 +1,7 @@
> # Watch: https://ftp.gnu.org/gnu/coreutils/
> SPELL=coreutils
> VERSION=9.7
> - SECURITY_PATCH=2
> + SECURITY_PATCH=3
> SOURCE=$SPELL-$VERSION.tar.xz
> SOURCE2=$SOURCE.sig
> SOURCE_DIRECTORY="$BUILD_DIRECTORY/$SPELL-$VERSION"
> diff --git a/utils/coreutils/HISTORY b/utils/coreutils/HISTORY
> index 410fbe9..ddc9602 100644
> --- a/utils/coreutils/HISTORY
> +++ b/utils/coreutils/HISTORY
> @@ -1,3 +1,9 @@
> +2025-05-30 Pavel Vinogradov <public AT sourcemage.org>
> + * DETAILS: SECURITY_PATCH++, (CVE-2025-5278)
> + * DEPENDS: added autoconf and automake
> + * PRE_BUILD, patches/CVE-2025-5278.patch: added the patch and
> autoreconf
> + to fix building with automake 1.18
> +
> 2025-04-09 Pavel Vinogradov <public AT sourcemage.org>
> * DETAILS: version 9.7
>
> diff --git a/utils/coreutils/PRE_BUILD b/utils/coreutils/PRE_BUILD
> index 7817709..13c1aa6 100755
> --- a/utils/coreutils/PRE_BUILD
> +++ b/utils/coreutils/PRE_BUILD
> @@ -3,4 +3,8 @@ cd "${SOURCE_DIRECTORY}" &&
>
> if [[ "${SMACK}" == "y" ]]; then
> patch -p1 < "$SPELL_DIRECTORY/coreutils-smack.patch"
> -fi
> +fi &&
> +
> +apply_patch_dir "patches" &&
> +
> +autoreconf -f
> diff --git a/utils/coreutils/patches/CVE-2025-5278.patch
> b/utils/coreutils/patches/CVE-2025-5278.patch
> new file mode 100644
> index 0000000..c55b7a8
> --- /dev/null
> +++ b/utils/coreutils/patches/CVE-2025-5278.patch
> @@ -0,0 +1,123 @@
> +From 8c9602e3a145e9596dc1a63c6ed67865814b6633 Mon Sep 17 00:00:00 2001
> +From: Pádraig Brady <P AT draigBrady.com>
> +Date: Tue, 20 May 2025 16:03:44 +0100
> +Subject: sort: fix buffer under-read (CWE-127)
> +
> +* src/sort.c (begfield): Check pointer adjustment
> +to avoid Out-of-range pointer offset (CWE-823).
> +(limfield): Likewise.
> +* tests/sort/sort-field-limit.sh: Add a new test,
> +which triggers with ASAN or Valgrind.
> +* tests/local.mk: Reference the new test.
> +* NEWS: Mention bug fix introduced in v7.2 (2009).
> +Fixes https://bugs.gnu.org/78507
> +---
> + NEWS | 5 +++++
> + src/sort.c | 12 ++++++++++--
> + tests/local.mk | 1 +
> + tests/sort/sort-field-limit.sh | 35 +++++++++++++++++++++++++++++++++++
> + 4 files changed, 51 insertions(+), 2 deletions(-)
> + create mode 100755 tests/sort/sort-field-limit.sh
> +
> +diff --git a/NEWS b/NEWS
> +index 6ff403206..923aa72f8 100644
> +--- a/NEWS
> ++++ b/NEWS
> +@@ -8,6 +8,11 @@ GNU coreutils NEWS -*-
> outline -*-
> + copying to non-NFS files from NFSv4 files with trivial ACLs.
> + [bug introduced in coreutils-9.6]
> +
> ++ sort with key character offsets of SIZE_MAX, could induce
> ++ a read of 1 byte before an allocated heap buffer. For example:
> ++ 'sort +0.18446744073709551615R input' on 64 bit systems.
> ++ [bug introduced in coreutils-7.2]
> ++
> +
> + * Noteworthy changes in release 9.7 (2025-04-09) [stable]
> +
> +diff --git a/src/sort.c b/src/sort.c
> +index b10183b6f..7af1a2512 100644
> +--- a/src/sort.c
> ++++ b/src/sort.c
> +@@ -1644,7 +1644,11 @@ begfield (struct line const *line, struct keyfield
> const *key)
> + ++ptr;
> +
> + /* Advance PTR by SCHAR (if possible), but no further than LIM. */
> +- ptr = MIN (lim, ptr + schar);
> ++ size_t remaining_bytes = lim - ptr;
> ++ if (schar < remaining_bytes)
> ++ ptr += schar;
> ++ else
> ++ ptr = lim;
> +
> + return ptr;
> + }
> +@@ -1746,7 +1750,11 @@ limfield (struct line const *line, struct keyfield
> const *key)
> + ++ptr;
> +
> + /* Advance PTR by ECHAR (if possible), but no further than LIM. */
> +- ptr = MIN (lim, ptr + echar);
> ++ size_t remaining_bytes = lim - ptr;
> ++ if (echar < remaining_bytes)
> ++ ptr += echar;
> ++ else
> ++ ptr = lim;
> + }
> +
> + return ptr;
> +diff --git a/tests/local.mk b/tests/local.mk
> +index 4da6756ac..642d225fa 100644
> +--- a/tests/local.mk
> ++++ b/tests/local.mk
> +@@ -388,6 +388,7 @@ all_tests = \
> + tests/sort/sort-debug-keys.sh \
> + tests/sort/sort-debug-warn.sh \
> + tests/sort/sort-discrim.sh \
> ++ tests/sort/sort-field-limit.sh \
> + tests/sort/sort-files0-from.pl \
> + tests/sort/sort-float.sh \
> + tests/sort/sort-h-thousands-sep.sh \
> +diff --git a/tests/sort/sort-field-limit.sh
> b/tests/sort/sort-field-limit.sh
> +new file mode 100755
> +index 000000000..52d8e1d17
> +--- /dev/null
> ++++ b/tests/sort/sort-field-limit.sh
> +@@ -0,0 +1,35 @@
> ++#!/bin/sh
> ++# From 7.2-9.7, this would trigger an out of bounds mem read
> ++
> ++# Copyright (C) 2025 Free Software Foundation, Inc.
> ++
> ++# This program is free software: you can redistribute it and/or modify
> ++# it under the terms of the GNU General Public License as published by
> ++# the Free Software Foundation, either version 3 of the License, or
> ++# (at your option) any later version.
> ++
> ++# This program is distributed in the hope that it will be useful,
> ++# but WITHOUT ANY WARRANTY; without even the implied warranty of
> ++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
> ++# GNU General Public License for more details.
> ++
> ++# You should have received a copy of the GNU General Public License
> ++# along with this program. If not, see <https://www.gnu.org/licenses/>.
> ++
> ++. "${srcdir=.}/tests/init.sh"; path_prepend_ ./src
> ++print_ver_ sort
> ++getlimits_
> ++
> ++# This issue triggers with valgrind or ASAN
> ++valgrind --error-exitcode=1 sort --version 2>/dev/null &&
> ++ VALGRIND='valgrind --error-exitcode=1'
> ++
> ++{ printf '%s\n' aa bb; } > in || framework_failure_
> ++
> ++_POSIX2_VERSION=200809 $VALGRIND sort +0.${SIZE_MAX}R in > out || fail=1
> ++compare in out || fail=1
> ++
> ++_POSIX2_VERSION=200809 $VALGRIND sort +1 -1.${SIZE_MAX}R in > out ||
> fail=1
> ++compare in out || fail=1
> ++
> ++Exit $fail
> +--
> +cgit v1.2.3
> +



Archive powered by MHonArc 2.6.24.

Top of Page