Skip to content

Commit fc2b496

Browse files
azurelinux-securityKanishk BansalKanishk-Bansal
authored
[AutoPR- Security] Patch glibc for CVE-2026-0861, CVE-2026-0915 [MEDIUM] (#15522)
Signed-off-by: Kanishk Bansal <kanbansal@microsoft.com> Co-authored-by: Kanishk Bansal <kanbansal@microsoft.com> Co-authored-by: Kanishk Bansal <103916909+Kanishk-Bansal@users.noreply.github.com>
1 parent 391c4df commit fc2b496

23 files changed

Lines changed: 301 additions & 79 deletions

File tree

SPECS-EXTENDED/buildah/buildah.spec

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ Epoch: 0
3030
Version: 1.41.4
3131
# The `AND` needs to be uppercase in the License for SPDX compatibility
3232
License: Apache-2.0 AND BSD-2-Clause AND BSD-3-Clause AND ISC AND MIT AND MPL-2.0
33-
Release: 4%{?dist}
33+
Release: 5%{?dist}
3434
Vendor: Microsoft Corporation
3535
Distribution: Azure Linux
3636
ExclusiveArch: aarch64 ppc64le s390x x86_64
@@ -43,7 +43,7 @@ BuildRequires: device-mapper-devel
4343
BuildRequires: git-core
4444
BuildRequires: golang >= 1.16.6
4545
BuildRequires: glib2-devel
46-
BuildRequires: glibc-static >= 2.38-16%{?dist}
46+
BuildRequires: glibc-static >= 2.38-17%{?dist}
4747
%if !%{defined gobuild}
4848
BuildRequires: go-rpm-macros
4949
%endif
@@ -173,6 +173,9 @@ make test-unit
173173
%{_datadir}/%{name}/test
174174

175175
%changelog
176+
* Mon Jan 19 2026 Kanishk Bansal <kanbansal@microsoft.com> - 0:1.41.4-5
177+
- Bump to rebuild with updated glibc
178+
176179
* Mon Nov 10 2025 Andrew Phelps <anphel@microsoft.com> - 0:1.41.4-4
177180
- Bump to rebuild with updated glibc
178181

SPECS-EXTENDED/catatonit/catatonit.spec

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ Distribution: Azure Linux
33

44
Name: catatonit
55
Version: 0.1.7
6-
Release: 24%{?dist}
6+
Release: 25%{?dist}
77
Summary: A signal-forwarding process manager for containers
88
License: GPLv3+
99
URL: https://github.com/openSUSE/catatonit
@@ -13,7 +13,7 @@ BuildRequires: automake
1313
BuildRequires: file
1414
BuildRequires: gcc
1515
BuildRequires: git
16-
BuildRequires: glibc-static >= 2.38-16%{?dist}
16+
BuildRequires: glibc-static >= 2.38-17%{?dist}
1717
BuildRequires: libtool
1818
BuildRequires: make
1919

@@ -61,6 +61,9 @@ ln -s %{_libexecdir}/%{name}/%{name} %{buildroot}%{_libexecdir}/podman/%{name}
6161
%{_libexecdir}/podman/%{name}
6262

6363
%changelog
64+
* Mon Jan 19 2026 Kanishk Bansal <kanbansal@microsoft.com> - 0.1.7-25
65+
- Bump to rebuild with updated glibc
66+
6467
* Mon Nov 10 2025 Andrew Phelps <anphel@microsoft.com> - 0.1.7-24
6568
- Bump to rebuild with updated glibc
6669

SPECS-EXTENDED/crun/crun.spec

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
Summary: OCI runtime written in C
1313
Name: crun
1414
Version: 1.24
15-
Release: 1%{?dist}
15+
Release: 2%{?dist}
1616
Vendor: Microsoft Corporation
1717
Distribution: Azure Linux
1818
URL: https://github.com/containers/%{name}
@@ -48,7 +48,7 @@ BuildRequires: wasmedge-devel
4848
%endif
4949

5050
BuildRequires: python
51-
BuildRequires: glibc-static >= 2.38-16%{?dist}
51+
BuildRequires: glibc-static >= 2.38-17%{?dist}
5252
Provides: oci-runtime
5353

5454
%description
@@ -114,6 +114,9 @@ rm -rf %{buildroot}%{_prefix}/lib*
114114
%endif
115115

116116
%changelog
117+
* Mon Jan 19 2026 Kanishk Bansal <kanbansal@microsoft.com> - 1.24-2
118+
- Bump to rebuild with updated glibc
119+
117120
* Fri Nov 07 2025 Sandeep Karambelkar <skarambelkar@microsoft.com> - 1.24-1
118121
- Initial Azure Linux import from Fedora 42 (license: MIT).
119122
- Modified for building in azurelinux

SPECS-EXTENDED/dyninst/dyninst.spec

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
Summary: An API for Run-time Code Generation
22
License: LGPLv2+
33
Name: dyninst
4-
Release: 26%{?dist}
4+
Release: 27%{?dist}
55
Vendor: Microsoft Corporation
66
Distribution: Azure Linux
77
URL: http://www.dyninst.org
@@ -31,7 +31,7 @@ BuildRequires: tbb tbb-devel
3131

3232
# Extra requires just for the testsuite
3333
BuildRequires: gcc-gfortran libstdc++-static libxml2-devel
34-
BuildRequires: glibc-static >= 2.38-16%{?dist}
34+
BuildRequires: glibc-static >= 2.38-17%{?dist}
3535

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

196196
%changelog
197+
* Mon Jan 19 2026 Kanishk Bansal <kanbansal@microsoft.com> - 10.1.0-27
198+
- Bump to rebuild with updated glibc
199+
197200
* Mon Nov 10 2025 Andrew Phelps <anphel@microsoft.com> - 10.1.0-26
198201
- Bump to rebuild with updated glibc
199202

SPECS-EXTENDED/podman/podman.spec

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ Epoch: 0
3131
# If you're reading this on dist-git, the version is automatically filled in by Packit.
3232
Version: 5.6.1
3333
License: Apache-2.0 AND BSD-2-Clause AND BSD-3-Clause AND ISC AND MIT AND MPL-2.0
34-
Release: 5%{?dist}
34+
Release: 6%{?dist}
3535
ExclusiveArch: aarch64 ppc64le s390x x86_64 riscv64
3636
Summary: Manage Pods, Containers and Container Images
3737
Vendor: Microsoft Corporation
@@ -48,7 +48,7 @@ BuildRequires: btrfs-progs-devel
4848
BuildRequires: gcc
4949
BuildRequires: glib2-devel
5050
BuildRequires: glibc-devel
51-
BuildRequires: glibc-static >= 2.38-16%{?dist}
51+
BuildRequires: glibc-static >= 2.38-17%{?dist}
5252
BuildRequires: golang
5353
BuildRequires: git-core
5454

@@ -298,6 +298,9 @@ make localunit
298298

299299
# rhcontainerbot account currently managed by lsm5
300300
%changelog
301+
* Mon Jan 19 2026 Kanishk Bansal <kanbansal@microsoft.com> - 0:5.6.1-6
302+
- Bump to rebuild with updated glibc
303+
301304
* Thu Dec 18 2025 Sandeep Karambelkar <skarambelkar@microsoft.com> - 0:5.6.1-5
302305
- Fix install issues
303306
- Add runtime required packages for installation along with podman

SPECS/busybox/busybox.spec

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
Summary: Statically linked binary providing simplified versions of system commands
22
Name: busybox
33
Version: 1.36.1
4-
Release: 19%{?dist}
4+
Release: 20%{?dist}
55
License: GPLv2
66
Vendor: Microsoft Corporation
77
Distribution: Azure Linux
@@ -19,7 +19,7 @@ Patch5: CVE-2023-42366.patch
1919
Patch6: CVE-2023-39810.patch
2020
Patch7: CVE-2022-48174.patch
2121
BuildRequires: gcc
22-
BuildRequires: glibc-static >= 2.38-16%{?dist}
22+
BuildRequires: glibc-static >= 2.38-17%{?dist}
2323
BuildRequires: libselinux-devel >= 1.27.7-2
2424
BuildRequires: libsepol-devel
2525
%if 0%{?with_check}
@@ -106,6 +106,9 @@ SKIP_KNOWN_BUGS=1 ./runtest
106106
%{_mandir}/man1/busybox.petitboot.1.gz
107107

108108
%changelog
109+
* Mon Jan 19 2026 Kanishk Bansal <kanbansal@microsoft.com> - 1.36.1-20
110+
- Bump to rebuild with updated glibc
111+
109112
* Mon Nov 10 2025 Andrew Phelps <anphel@microsoft.com> - 1.36.1-19
110113
- Bump to rebuild with updated glibc
111114

SPECS/flannel/flannel.spec

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
Summary: Simple and easy way to configure a layer 3 network fabric designed for Kubernetes
44
Name: flannel
55
Version: 0.24.2
6-
Release: 22%{?dist}
6+
Release: 23%{?dist}
77
License: ASL 2.0
88
Vendor: Microsoft Corporation
99
Distribution: Azure Linux
@@ -19,7 +19,7 @@ Patch4: CVE-2024-51744.patch
1919
Patch5: CVE-2025-65637.patch
2020
BuildRequires: gcc
2121
BuildRequires: glibc-devel
22-
BuildRequires: glibc-static >= 2.38-16%{?dist}
22+
BuildRequires: glibc-static >= 2.38-17%{?dist}
2323
BuildRequires: golang < 1.25
2424
BuildRequires: kernel-headers
2525

@@ -53,6 +53,9 @@ install -p -m 755 -t %{buildroot}%{_bindir} ./dist/flanneld
5353
%{_bindir}/flanneld
5454

5555
%changelog
56+
* Mon Jan 19 2026 Kanishk Bansal <kanbansal@microsoft.com> - 0.24.2-23
57+
- Bump to rebuild with updated glibc
58+
5659
* Mon Dec 08 2025 Azure Linux Security Servicing Account <azurelinux-security@microsoft.com> - 0.24.2-22
5760
- Patch for CVE-2025-65637
5861

SPECS/glibc/CVE-2026-0861.patch

Lines changed: 90 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,90 @@
1+
From 320a9e12e379c819fb3bfe14590d0f8bdff20115 Mon Sep 17 00:00:00 2001
2+
From: Siddhesh Poyarekar <siddhesh@gotplt.org>
3+
Date: Thu, 15 Jan 2026 06:06:40 -0500
4+
Subject: [PATCH] memalign: reinstate alignment overflow check (CVE-2026-0861)
5+
6+
The change to cap valid sizes to PTRDIFF_MAX inadvertently dropped the
7+
overflow check for alignment in memalign functions, _mid_memalign and
8+
_int_memalign. Reinstate the overflow check in _int_memalign, aligned
9+
with the PTRDIFF_MAX change since that is directly responsible for the
10+
CVE. The missing _mid_memalign check is not relevant (and does not have
11+
a security impact) and may need a different approach to fully resolve,
12+
so it has been omitted.
13+
14+
CVE-Id: CVE-2026-0861
15+
Vulnerable-Commit: 9bf8e29ca136094f73f69f725f15c51facc97206
16+
Reported-by: Igor Morgenstern, Aisle Research
17+
Fixes: BZ #33796
18+
Reviewed-by: Wilco Dijkstra <Wilco.Dijkstra@arm.com>
19+
Signed-off-by: Siddhesh Poyarekar <siddhesh@gotplt.org>
20+
(cherry picked from commit c9188d333717d3ceb7e3020011651f424f749f93)
21+
Signed-off-by: Azure Linux Security Servicing Account <azurelinux-security@microsoft.com>
22+
Upstream-reference: https://github.com/bminor/glibc/commit/744b63026a29f7eedbbc8e3a01a7f48a6eb0a085.patch
23+
---
24+
malloc/malloc.c | 7 +++++--
25+
malloc/tst-malloc-too-large.c | 10 ++--------
26+
2 files changed, 7 insertions(+), 10 deletions(-)
27+
28+
diff --git a/malloc/malloc.c b/malloc/malloc.c
29+
index d0bbbf37..70bf56d1 100644
30+
--- a/malloc/malloc.c
31+
+++ b/malloc/malloc.c
32+
@@ -5042,7 +5042,7 @@ _int_memalign (mstate av, size_t alignment, size_t bytes)
33+
INTERNAL_SIZE_T size;
34+
35+
nb = checked_request2size (bytes);
36+
- if (nb == 0)
37+
+ if (nb == 0 || alignment > PTRDIFF_MAX)
38+
{
39+
__set_errno (ENOMEM);
40+
return NULL;
41+
@@ -5058,7 +5058,10 @@ _int_memalign (mstate av, size_t alignment, size_t bytes)
42+
we don't find anything in those bins, the common malloc code will
43+
scan starting at 2x. */
44+
45+
- /* Call malloc with worst case padding to hit alignment. */
46+
+ /* Call malloc with worst case padding to hit alignment. ALIGNMENT is a
47+
+ power of 2, so it tops out at (PTRDIFF_MAX >> 1) + 1, leaving plenty of
48+
+ space to add MINSIZE and whatever checked_request2size adds to BYTES to
49+
+ get NB. Consequently, total below also does not overflow. */
50+
m = (char *) (_int_malloc (av, nb + alignment + MINSIZE));
51+
52+
if (m == 0)
53+
diff --git a/malloc/tst-malloc-too-large.c b/malloc/tst-malloc-too-large.c
54+
index 5be6800b..206184ac 100644
55+
--- a/malloc/tst-malloc-too-large.c
56+
+++ b/malloc/tst-malloc-too-large.c
57+
@@ -151,7 +151,6 @@ test_large_allocations (size_t size)
58+
}
59+
60+
61+
-static long pagesize;
62+
63+
/* This function tests the following aligned memory allocation functions
64+
using several valid alignments and precedes each allocation test with a
65+
@@ -170,8 +169,8 @@ test_large_aligned_allocations (size_t size)
66+
67+
/* All aligned memory allocation functions expect an alignment that is a
68+
power of 2. Given this, we test each of them with every valid
69+
- alignment from 1 thru PAGESIZE. */
70+
- for (align = 1; align <= pagesize; align *= 2)
71+
+ alignment for the type of ALIGN, i.e. until it wraps to 0. */
72+
+ for (align = 1; align > 0; align <<= 1)
73+
{
74+
test_setup ();
75+
#if __GNUC_PREREQ (7, 0)
76+
@@ -264,11 +263,6 @@ do_test (void)
77+
DIAG_IGNORE_NEEDS_COMMENT (7, "-Walloc-size-larger-than=");
78+
#endif
79+
80+
- /* Aligned memory allocation functions need to be tested up to alignment
81+
- size equivalent to page size, which should be a power of 2. */
82+
- pagesize = sysconf (_SC_PAGESIZE);
83+
- TEST_VERIFY_EXIT (powerof2 (pagesize));
84+
-
85+
/* Loop 1: Ensure that all allocations with SIZE close to SIZE_MAX, i.e.
86+
in the range (SIZE_MAX - 2^14, SIZE_MAX], fail.
87+
88+
--
89+
2.45.4
90+

SPECS/glibc/CVE-2026-0915.patch

Lines changed: 79 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,79 @@
1+
From ab36888721c2d315887b6056f996218dc689168f Mon Sep 17 00:00:00 2001
2+
From: Carlos O'Donell <carlos@redhat.com>
3+
Date: Thu, 15 Jan 2026 15:09:38 -0500
4+
Subject: [PATCH] resolv: Fix NSS DNS backend for getnetbyaddr (CVE-2026-0915)
5+
6+
The default network value of zero for net was never tested for and
7+
results in a DNS query constructed from uninitialized stack bytes.
8+
The solution is to provide a default query for the case where net
9+
is zero.
10+
11+
Adding a test case for this was straight forward given the existence of
12+
tst-resolv-network and if the test is added without the fix you observe
13+
this failure:
14+
15+
FAIL: resolv/tst-resolv-network
16+
original exit status 1
17+
error: tst-resolv-network.c:174: invalid QNAME: \146\218\129\128
18+
error: 1 test failures
19+
20+
With a random QNAME resulting from the use of uninitialized stack bytes.
21+
22+
After the fix the test passes.
23+
24+
Additionally verified using wireshark before and after to ensure
25+
on-the-wire bytes for the DNS query were as expected.
26+
27+
No regressions on x86_64.
28+
29+
Reviewed-by: Florian Weimer <fweimer@redhat.com>
30+
(cherry picked from commit e56ff82d5034ec66c6a78f517af6faa427f65b0b)
31+
Signed-off-by: Azure Linux Security Servicing Account <azurelinux-security@microsoft.com>
32+
Upstream-reference: https://github.com/bminor/glibc/commit/49125ffc8e1674dc2a100dfdc5b78796f22e16f2.patch
33+
---
34+
resolv/nss_dns/dns-network.c | 4 ++++
35+
resolv/tst-resolv-network.c | 6 ++++++
36+
2 files changed, 10 insertions(+)
37+
38+
diff --git a/resolv/nss_dns/dns-network.c b/resolv/nss_dns/dns-network.c
39+
index 1e6511a4..4c365660 100644
40+
--- a/resolv/nss_dns/dns-network.c
41+
+++ b/resolv/nss_dns/dns-network.c
42+
@@ -207,6 +207,10 @@ _nss_dns_getnetbyaddr_r (uint32_t net, int type, struct netent *result,
43+
sprintf (qbuf, "%u.%u.%u.%u.in-addr.arpa", net_bytes[3], net_bytes[2],
44+
net_bytes[1], net_bytes[0]);
45+
break;
46+
+ default:
47+
+ /* Default network (net is originally zero). */
48+
+ strcpy (qbuf, "0.0.0.0.in-addr.arpa");
49+
+ break;
50+
}
51+
52+
net_buffer.buf = orig_net_buffer = (querybuf *) alloca (1024);
53+
diff --git a/resolv/tst-resolv-network.c b/resolv/tst-resolv-network.c
54+
index ada71371..19b847d8 100644
55+
--- a/resolv/tst-resolv-network.c
56+
+++ b/resolv/tst-resolv-network.c
57+
@@ -46,6 +46,9 @@ handle_code (const struct resolv_response_context *ctx,
58+
{
59+
switch (code)
60+
{
61+
+ case 0:
62+
+ send_ptr (b, qname, qclass, qtype, "0.in-addr.arpa");
63+
+ break;
64+
case 1:
65+
send_ptr (b, qname, qclass, qtype, "1.in-addr.arpa");
66+
break;
67+
@@ -265,6 +268,9 @@ do_test (void)
68+
"error: TRY_AGAIN\n");
69+
70+
/* Lookup by address, success cases. */
71+
+ check_reverse (0,
72+
+ "name: 0.in-addr.arpa\n"
73+
+ "net: 0x00000000\n");
74+
check_reverse (1,
75+
"name: 1.in-addr.arpa\n"
76+
"net: 0x00000001\n");
77+
--
78+
2.45.4
79+

SPECS/glibc/glibc.spec

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
Summary: Main C library
1111
Name: glibc
1212
Version: 2.38
13-
Release: 16%{?dist}
13+
Release: 17%{?dist}
1414
License: BSD AND GPLv2+ AND Inner-Net AND ISC AND LGPLv2+ AND MIT
1515
Vendor: Microsoft Corporation
1616
Distribution: Azure Linux
@@ -53,6 +53,8 @@ Patch22: CVE-2025-8058.patch
5353

5454
# Patches for testing
5555
Patch100: 0001-Remove-Wno-format-cflag-from-tests.patch
56+
Patch101: CVE-2026-0861.patch
57+
Patch102: CVE-2026-0915.patch
5658

5759
BuildRequires: bison
5860
BuildRequires: gawk
@@ -382,6 +384,9 @@ grep "^FAIL: string/test-mempcpy" tests.sum >/dev/null && n=$((n+1)) ||:
382384
%exclude %{_libdir}/locale/C.utf8
383385

384386
%changelog
387+
* Mon Jan 19 2026 Azure Linux Security Servicing Account <azurelinux-security@microsoft.com> - 2.38-17
388+
- Patch for CVE-2026-0861, CVE-2026-0915
389+
385390
* Fri Nov 07 2025 Andrew Phelps <anphel@microsoft.com> - 2.38-16
386391
- Ignore additional expected package test failures
387392

0 commit comments

Comments
 (0)