Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 5 additions & 2 deletions SPECS-EXTENDED/buildah/buildah.spec
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@
Summary: A command line tool used for creating OCI Images
Name: buildah
Version: 1.18.0
Release: 28%{?dist}
Release: 29%{?dist}
License: ASL 2.0
Vendor: Microsoft Corporation
Distribution: Mariner
Expand All @@ -32,7 +32,7 @@ BuildRequires: btrfs-progs-devel
BuildRequires: device-mapper-devel
BuildRequires: git
BuildRequires: glib2-devel
BuildRequires: glibc-static >= 2.35-9%{?dist}
BuildRequires: glibc-static >= 2.35-10%{?dist}
BuildRequires: go-md2man
BuildRequires: go-rpm-macros
BuildRequires: golang
Expand Down Expand Up @@ -123,6 +123,9 @@ cp imgtype %{buildroot}/%{_bindir}/%{name}-imgtype
%{_datadir}/%{name}/test

%changelog
* Tue Feb 03 2026 Aditya Singh <v-aditysing@microsoft.com> - 1.18.0-29
- Bump to rebuild with updated glibc

* Wed Jan 28 2026 Kanishk Bansal <kanbansal@microsoft.com> - 1.18.0-28
- Bump to rebuild with updated glibc

Expand Down
7 changes: 5 additions & 2 deletions SPECS-EXTENDED/catatonit/catatonit.spec
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ Distribution: Mariner

Name: catatonit
Version: 0.1.7
Release: 12%{?dist}
Release: 13%{?dist}
Summary: A signal-forwarding process manager for containers
License: GPLv3+
URL: https://github.com/openSUSE/catatonit
Expand All @@ -13,7 +13,7 @@ BuildRequires: automake
BuildRequires: file
BuildRequires: gcc
BuildRequires: git
BuildRequires: glibc-static >= 2.35-9%{?dist}
BuildRequires: glibc-static >= 2.35-10%{?dist}
BuildRequires: libtool
BuildRequires: make

Expand Down Expand Up @@ -61,6 +61,9 @@ ln -s %{_libexecdir}/%{name}/%{name} %{buildroot}%{_libexecdir}/podman/%{name}
%{_libexecdir}/podman/%{name}

%changelog
* Tue Feb 03 2026 Aditya Singh <v-aditysing@microsoft.com> - 0.1.7-13
- Bump to rebuild with updated glibc

* Wed Jan 28 2026 Kanishk Bansal <kanbansal@microsoft.com> - 0.1.7-12
- Bump to rebuild with updated glibc

Expand Down
7 changes: 5 additions & 2 deletions SPECS-EXTENDED/dyninst/dyninst.spec
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
Summary: An API for Run-time Code Generation
License: LGPLv2+
Name: dyninst
Release: 14%{?dist}
Release: 15%{?dist}
Vendor: Microsoft Corporation
Distribution: Mariner
URL: http://www.dyninst.org
Expand Down Expand Up @@ -31,7 +31,7 @@ BuildRequires: tbb tbb-devel

# Extra requires just for the testsuite
BuildRequires: gcc-gfortran libstdc++-static libxml2-devel
BuildRequires: glibc-static >= 2.35-9%{?dist}
BuildRequires: glibc-static >= 2.35-10%{?dist}

# Testsuite files should not provide/require anything
%{?filter_setup:
Expand Down Expand Up @@ -194,6 +194,9 @@ echo "%{_libdir}/dyninst" > %{buildroot}/etc/ld.so.conf.d/%{name}-%{_arch}.conf
%attr(644,root,root) %{_libdir}/dyninst/testsuite/*.a

%changelog
* Tue Feb 03 2026 Aditya Singh <v-aditysing@microsoft.com> - 10.1.0-15
- Bump to rebuild with updated glibc

* Wed Jan 28 2026 Kanishk Bansal <kanbansal@microsoft.com> - 10.1.0-14
- Bump to rebuild with updated glibc

Expand Down
7 changes: 5 additions & 2 deletions SPECS-EXTENDED/podman/podman.spec
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@

Name: podman
Version: 4.1.1
Release: 25%{?dist}
Release: 26%{?dist}
License: ASL 2.0 and BSD and ISC and MIT and MPLv2.0
Summary: Manage Pods, Containers and Container Images
Vendor: Microsoft Corporation
Expand All @@ -51,7 +51,7 @@ BuildRequires: go-md2man
BuildRequires: golang
BuildRequires: gcc
BuildRequires: glib2-devel
BuildRequires: glibc-static >= 2.35-9%{?dist}
BuildRequires: glibc-static >= 2.35-10%{?dist}
BuildRequires: git
BuildRequires: go-rpm-macros
BuildRequires: gpgme-devel
Expand Down Expand Up @@ -387,6 +387,9 @@ cp -pav test/system %{buildroot}/%{_datadir}/%{name}/test/

# rhcontainerbot account currently managed by lsm5
%changelog
* Tue Feb 03 2026 Aditya Singh <v-aditysing@microsoft.com> - 4.1.1-26
- Bump to rebuild with updated glibc

* Wed Jan 28 2026 Kanishk Bansal <kanbansal@microsoft.com> - 4.1.1-25
- Bump to rebuild with updated glibc

Expand Down
7 changes: 5 additions & 2 deletions SPECS/busybox/busybox.spec
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
Summary: Statically linked binary providing simplified versions of system commands
Name: busybox
Version: 1.35.0
Release: 16%{?dist}
Release: 17%{?dist}
License: GPLv2
Vendor: Microsoft Corporation
Distribution: Mariner
Expand All @@ -25,7 +25,7 @@ Patch11: CVE-2023-42366.patch
Patch12: CVE-2022-48174.patch
Patch13: CVE-2023-39810.patch
BuildRequires: gcc
BuildRequires: glibc-static >= 2.35-9%{?dist}
BuildRequires: glibc-static >= 2.35-10%{?dist}
BuildRequires: libselinux-devel >= 1.27.7-2
BuildRequires: libsepol-devel
# libbb/hash_md5_sha.c
Expand Down Expand Up @@ -103,6 +103,9 @@ install -m 644 docs/busybox.petitboot.1 %{buildroot}/%{_mandir}/man1/busybox.pet
%{_mandir}/man1/busybox.petitboot.1.gz

%changelog
* Tue Feb 03 2026 Aditya Singh <v-aditysing@microsoft.com> - 1.35.0-17
- Bump to rebuild with updated glibc

* Wed Jan 28 2026 Kanishk Bansal <kanbansal@microsoft.com> - 1.35.0-16
- Bump to rebuild with updated glibc

Expand Down
7 changes: 5 additions & 2 deletions SPECS/flannel/flannel.spec
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
Summary: Simple and easy way to configure a layer 3 network fabric designed for Kubernetes
Name: flannel
Version: 0.14.0
Release: 29%{?dist}
Release: 30%{?dist}
License: ASL 2.0
Vendor: Microsoft Corporation
Distribution: Mariner
Expand All @@ -17,7 +17,7 @@ Patch1: CVE-2025-65637.patch

BuildRequires: gcc
BuildRequires: glibc-devel
BuildRequires: glibc-static >= 2.35-9%{?dist}
BuildRequires: glibc-static >= 2.35-10%{?dist}
BuildRequires: golang
BuildRequires: kernel-headers

Expand Down Expand Up @@ -50,6 +50,9 @@ install -p -m 755 -t %{buildroot}%{_bindir} ./dist/flanneld
%{_bindir}/flanneld

%changelog
* Tue Feb 03 2026 Aditya Singh <v-aditysing@microsoft.com> - 0.14.0-30
- Bump to rebuild with updated glibc

* Wed Jan 28 2026 Kanishk Bansal <kanbansal@microsoft.com> - 0.14.0-29
- Bump to rebuild with updated glibc

Expand Down
201 changes: 201 additions & 0 deletions SPECS/glibc/CVE-2025-15281.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,201 @@
From ce65d944e38a20cb70af2a48a4b8aa5d8fabe1cc Mon Sep 17 00:00:00 2001
From: Adhemerval Zanella <adhemerval.zanella@linaro.org>
Date: Thu, 15 Jan 2026 10:32:19 -0300
Subject: [PATCH 1/1] posix: Reset wordexp_t fields with WRDE_REUSE
(CVE-2025-15281 / BZ 33814)

The wordexp fails to properly initialize the input wordexp_t when
WRDE_REUSE is used. The wordexp_t struct is properly freed, but
reuses the old wc_wordc value and updates the we_wordv in the
wrong position. A later wordfree will then call free with an
invalid pointer.

Checked on x86_64-linux-gnu and i686-linux-gnu.

Reviewed-by: Carlos O'Donell <carlos@redhat.com>
(cherry picked from commit 80cc58ea2de214f85b0a1d902a3b668ad2ecb302)

Upstream Patch Reference: https://sourceware.org/git/?p=glibc.git;a=patch;h=ce65d944e38a20cb70af2a48a4b8aa5d8fabe1cc;hp=831f63b94ceb92fb14c0d1a7ddad35a0d1404c71
---
NEWS | 6 +++
posix/Makefile | 10 +++++
posix/tst-wordexp-reuse.c | 89 +++++++++++++++++++++++++++++++++++++++
posix/wordexp.c | 2 +
4 files changed, 107 insertions(+)
create mode 100644 posix/tst-wordexp-reuse.c

diff --git a/NEWS b/NEWS
index faa7ec18..d8fbec32 100644
--- a/NEWS
+++ b/NEWS
@@ -199,6 +199,10 @@ Security related changes:
corresponds to the / directory through an unprivileged mount
namespace. Reported by Qualys.

+ GLIBC-SA-2026-0003
+ wordexp with WRDE_REUSE and WRDE_APPEND may return uninitialized
+ memory (CVE-2025-15281)
+
The following bugs are resolved with this release:

[12889] nptl: Race condition in pthread_kill
@@ -335,6 +339,8 @@ The following bugs are resolved with this release:
[28837] libc: FAIL: socket/tst-socket-timestamp-compat
[28847] locale: Empty mon_decimal_point in LC_MONETARY results in non-
empty mon_decimal_point_wc
+ [33814] glob: wordexp with WRDE_REUSE and WRDE_APPEND may return
+ uninitialized memory


Version 2.34
diff --git a/posix/Makefile b/posix/Makefile
index 9b30b53a..bc068ed9 100644
--- a/posix/Makefile
+++ b/posix/Makefile
@@ -109,6 +109,7 @@ tests := test-errno tstgetopt testfnm runtests runptests \
tst-glob-tilde test-ssize-max tst-spawn4 bug-regex37 \
bug-regex38 tst-regcomp-truncated tst-spawn-chdir \
tst-wordexp-nocmd tst-execveat tst-spawn5 \
+ tst-wordexp-reuse \
tst-sched_getaffinity tst-spawn6

# Test for the glob symbol version that was replaced in glibc 2.27.
@@ -156,6 +157,7 @@ generated += $(addprefix wordexp-test-result, 1 2 3 4 5 6 7 8 9 10) \
bug-glob2.mtrace bug-glob2-mem.out tst-vfork3-mem.out \
tst-vfork3.mtrace getconf.speclist tst-fnmatch-mem.out \
tst-fnmatch.mtrace bug-regex36.mtrace \
+ tst-wordexp-reuse-mem.out tst-wordexp-reuse.mtrace \
testcases.h ptestcases.h

ifeq ($(run-built-tests),yes)
@@ -174,6 +176,7 @@ tests-special += $(objpfx)bug-regex2-mem.out $(objpfx)bug-regex14-mem.out \
$(objpfx)tst-boost-mem.out $(objpfx)tst-getconf.out \
$(objpfx)bug-glob2-mem.out $(objpfx)tst-vfork3-mem.out \
$(objpfx)tst-fnmatch-mem.out $(objpfx)bug-regex36-mem.out \
+ $(objpfx)tst-wordexp-reuse.out \
$(objpfx)tst-glob-tilde-mem.out $(objpfx)bug-ga2-mem.out
endif

@@ -451,3 +454,10 @@ $(objpfx)posix-conf-vars-def.h: $(..)scripts/gen-posix-conf-vars.awk \
$(make-target-directory)
$(AWK) -f $(filter-out Makefile, $^) > $@.tmp
mv -f $@.tmp $@
+
+tst-wordexp-reuse-ENV += MALLOC_TRACE=$(objpfx)tst-wordexp-reuse.mtrace \
+ LD_PRELOAD=$(common-objpfx)/malloc/libc_malloc_debug.so
+
+$(objpfx)tst-wordexp-reuse-mem.out: $(objpfx)tst-wordexp-reuse.out \
+ $(common-objpfx)malloc/mtrace $(objpfx)tst-wordexp-reuse.mtrace > $@; \
+ $(evaluate-test)
diff --git a/posix/tst-wordexp-reuse.c b/posix/tst-wordexp-reuse.c
new file mode 100644
index 00000000..c2c12fd1
--- /dev/null
+++ b/posix/tst-wordexp-reuse.c
@@ -0,0 +1,89 @@
+/* Test for wordexp with WRDE_REUSE flag.
+ Copyright (C) 2026 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library 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
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ <https://www.gnu.org/licenses/>. */
+
+#include <wordexp.h>
+#include <mcheck.h>
+
+#include <support/check.h>
+
+static int
+do_test (void)
+{
+ mtrace ();
+
+ {
+ wordexp_t p = { 0 };
+ TEST_COMPARE (wordexp ("one", &p, 0), 0);
+ TEST_COMPARE (p.we_wordc, 1);
+ TEST_COMPARE_STRING (p.we_wordv[0], "one");
+ TEST_COMPARE (wordexp ("two", &p, WRDE_REUSE), 0);
+ TEST_COMPARE (p.we_wordc, 1);
+ TEST_COMPARE_STRING (p.we_wordv[0], "two");
+ wordfree (&p);
+ }
+
+ {
+ wordexp_t p = { .we_offs = 2 };
+ TEST_COMPARE (wordexp ("one", &p, 0), 0);
+ TEST_COMPARE (p.we_wordc, 1);
+ TEST_COMPARE_STRING (p.we_wordv[0], "one");
+ TEST_COMPARE (wordexp ("two", &p, WRDE_REUSE | WRDE_DOOFFS), 0);
+ TEST_COMPARE (p.we_wordc, 1);
+ TEST_COMPARE_STRING (p.we_wordv[p.we_offs + 0], "two");
+ wordfree (&p);
+ }
+
+ {
+ wordexp_t p = { 0 };
+ TEST_COMPARE (wordexp ("one", &p, 0), 0);
+ TEST_COMPARE (p.we_wordc, 1);
+ TEST_COMPARE_STRING (p.we_wordv[0], "one");
+ TEST_COMPARE (wordexp ("two", &p, WRDE_REUSE | WRDE_APPEND), 0);
+ TEST_COMPARE (p.we_wordc, 1);
+ TEST_COMPARE_STRING (p.we_wordv[0], "two");
+ wordfree (&p);
+ }
+
+ {
+ wordexp_t p = { .we_offs = 2 };
+ TEST_COMPARE (wordexp ("one", &p, WRDE_DOOFFS), 0);
+ TEST_COMPARE (p.we_wordc, 1);
+ TEST_COMPARE_STRING (p.we_wordv[p.we_offs + 0], "one");
+ TEST_COMPARE (wordexp ("two", &p, WRDE_REUSE
+ | WRDE_DOOFFS), 0);
+ TEST_COMPARE (p.we_wordc, 1);
+ TEST_COMPARE_STRING (p.we_wordv[p.we_offs + 0], "two");
+ wordfree (&p);
+ }
+
+ {
+ wordexp_t p = { .we_offs = 2 };
+ TEST_COMPARE (wordexp ("one", &p, WRDE_DOOFFS), 0);
+ TEST_COMPARE (p.we_wordc, 1);
+ TEST_COMPARE_STRING (p.we_wordv[p.we_offs + 0], "one");
+ TEST_COMPARE (wordexp ("two", &p, WRDE_REUSE
+ | WRDE_DOOFFS | WRDE_APPEND), 0);
+ TEST_COMPARE (p.we_wordc, 1);
+ TEST_COMPARE_STRING (p.we_wordv[p.we_offs + 0], "two");
+ wordfree (&p);
+ }
+
+ return 0;
+}
+
+#include <support/test-driver.c>
diff --git a/posix/wordexp.c b/posix/wordexp.c
index d4cb9c73..25f5b509 100644
--- a/posix/wordexp.c
+++ b/posix/wordexp.c
@@ -2219,7 +2219,9 @@ wordexp (const char *words, wordexp_t *pwordexp, int flags)
{
/* Minimal implementation of WRDE_REUSE for now */
wordfree (pwordexp);
+ old_word.we_wordc = 0;
old_word.we_wordv = NULL;
+ pwordexp->we_wordc = 0;
}

if ((flags & WRDE_APPEND) == 0)
--
2.45.4

6 changes: 5 additions & 1 deletion SPECS/glibc/glibc.spec
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
Summary: Main C library
Name: glibc
Version: 2.35
Release: 9%{?dist}
Release: 10%{?dist}
License: BSD AND GPLv2+ AND Inner-Net AND ISC AND LGPLv2+ AND MIT
Vendor: Microsoft Corporation
Distribution: Mariner
Expand Down Expand Up @@ -38,6 +38,7 @@ Patch12: CVE-2024-33601.patch
Patch13: CVE-2026-0861.patch
Patch14: CVE-2026-0915.patch
Patch15: CVE-2025-0395.patch
Patch16: CVE-2025-15281.patch
BuildRequires: bison
BuildRequires: gawk
BuildRequires: gettext
Expand Down Expand Up @@ -330,6 +331,9 @@ grep "^FAIL: nptl/tst-eintr1" tests.sum >/dev/null && n=$((n+1)) ||:
%defattr(-,root,root)

%changelog
* Tue Feb 03 2026 Aditya Singh <v-aditysing@microsoft.com> - 2.35-10
- Patch for CVE-2025-15281

* Wed Jan 28 2026 Azure Linux Security Servicing Account <azurelinux-security@microsoft.com> - 2.35-9
- Patch for CVE-2025-0395

Expand Down
Loading
Loading