summaryrefslogtreecommitdiff
path: root/gnu/packages
diff options
context:
space:
mode:
authorJohn Kehayias <john@guixotic.coop>2026-02-15 23:35:20 -0500
committerJohn Kehayias <john@guixotic.coop>2026-02-20 01:08:07 -0500
commitd659fe8666c4bc38fcbdbe7b7a35101f2d7cc41b (patch)
tree06b4790f823dbadf067b06783c03216317849b21 /gnu/packages
parent86c4c0797115047155701083eee30163904f36ed (diff)
gnu: glibc: Graft with fix for unsafe env variable [security-fixes].
Before this change, the environment variable GUIX_LOCPATH is not in the unsafe variable list, meaning that it is not unset in a privileged environment. This could lead to potential security issues. A CVE number is pending for this issue. A similar upstream glibc issue was CVE-2023-4911. * gnu/packages/base.scm (glibc)[replacement]: Add field to graft with ... (glibc/fixed): ... this new package. * gnu/packages/patches/glibc-guix-locpath.patch: New file. * gnu/local.mk (dist_patch_DATA): Register it. Change-Id: I74d87ce543bfba7d5f424efb2b87926ca336c725 Reported-by: "Stefan" <stefan-guix@vodafonemail.de>
Diffstat (limited to 'gnu/packages')
-rw-r--r--gnu/packages/base.scm14
-rw-r--r--gnu/packages/patches/glibc-guix-locpath.patch13
2 files changed, 26 insertions, 1 deletions
diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm
index 81913168c16..31ad20e2ee9 100644
--- a/gnu/packages/base.scm
+++ b/gnu/packages/base.scm
@@ -21,7 +21,7 @@
21;;; Copyright © 2021 Guillaume Le Vaillant <glv@posteo.net> 21;;; Copyright © 2021 Guillaume Le Vaillant <glv@posteo.net>
22;;; Copyright © 2021, 2024 Maxim Cournoyer <maxim@guixotic.coop> 22;;; Copyright © 2021, 2024 Maxim Cournoyer <maxim@guixotic.coop>
23;;; Copyright © 2022 zamfofex <zamfofex@twdb.moe> 23;;; Copyright © 2022 zamfofex <zamfofex@twdb.moe>
24;;; Copyright © 2022 John Kehayias <john.kehayias@protonmail.com> 24;;; Copyright © 2022, 2026 John Kehayias <john@guixotic.coop>
25;;; Copyright © 2023 Josselin Poiret <dev@jpoiret.xyz> 25;;; Copyright © 2023 Josselin Poiret <dev@jpoiret.xyz>
26;;; Copyright © 2024, 2025 Zheng Junjie <z572@z572.online> 26;;; Copyright © 2024, 2025 Zheng Junjie <z572@z572.online>
27;;; 27;;;
@@ -957,6 +957,7 @@ the store.")
957 (properties `((lint-hidden-cve . ("CVE-2024-2961" 957 (properties `((lint-hidden-cve . ("CVE-2024-2961"
958 "CVE-2024-33601" "CVE-2024-33602" 958 "CVE-2024-33601" "CVE-2024-33602"
959 "CVE-2024-33600" "CVE-2024-33599")))) 959 "CVE-2024-33600" "CVE-2024-33599"))))
960 (replacement glibc/fixed)
960 (build-system gnu-build-system) 961 (build-system gnu-build-system)
961 962
962 ;; Glibc's <limits.h> refers to <linux/limit.h>, for instance, so glibc 963 ;; Glibc's <limits.h> refers to <linux/limit.h>, for instance, so glibc
@@ -1234,6 +1235,17 @@ with the Linux kernel.")
1234 (license lgpl2.0+) 1235 (license lgpl2.0+)
1235 (home-page "https://www.gnu.org/software/libc/"))) 1236 (home-page "https://www.gnu.org/software/libc/")))
1236 1237
1238(define glibc/fixed
1239 (package
1240 (inherit glibc)
1241 (name "glibc")
1242 (source (origin
1243 (inherit (package-source glibc))
1244 ;; XXX: When ungrafting, add the included patch to
1245 ;; %glibc-patches.
1246 (patches (cons (search-patch "glibc-guix-locpath.patch")
1247 (origin-patches (package-source glibc))))))))
1248
1237;; Define a variation of glibc which uses the default /etc/ld.so.cache, useful 1249;; Define a variation of glibc which uses the default /etc/ld.so.cache, useful
1238;; in FHS containers. 1250;; in FHS containers.
1239(define-public glibc-for-fhs 1251(define-public glibc-for-fhs
diff --git a/gnu/packages/patches/glibc-guix-locpath.patch b/gnu/packages/patches/glibc-guix-locpath.patch
new file mode 100644
index 00000000000..5bba574a8c8
--- /dev/null
+++ b/gnu/packages/patches/glibc-guix-locpath.patch
@@ -0,0 +1,13 @@
1Patch to add the GUIX_LOCPATH environment variable to ones that should
2be unset for SUID programs, same as LOCPATH.
3
4--- glibc-2.41-old/sysdeps/generic/unsecvars.h
5+++ glibc-2.41/sysdeps/generic/unsecvars.h
6@@ -5,6 +5,7 @@
7 "GCONV_PATH\0" \
8 "GETCONF_DIR\0" \
9 "GLIBC_TUNABLES\0" \
10+ "GUIX_LOCPATH\0" \
11 "HOSTALIASES\0" \
12 "LD_AUDIT\0" \
13 "LD_BIND_NOT\0" \