Skip to Content.
Sympa Menu

sm-commit - [[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: Pavel Vinogradov <scm AT sourcemage.org>
  • To: sm-commit AT lists.ibiblio.org, sm-commit AT lists.sourcemage.org
  • Subject: [[SM-Commit] ] GIT changes to master grimoire by Pavel Vinogradov (6327a9e951471af34adac3985f84a05c71ebef8c)
  • Date: Fri, 30 May 2025 18:57:22 +0000

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
+


  • [[SM-Commit] ] GIT changes to master grimoire by Pavel Vinogradov (6327a9e951471af34adac3985f84a05c71ebef8c), Pavel Vinogradov, 05/30/2025

Archive powered by MHonArc 2.6.24.

Top of Page