mirror of
https://git.yoctoproject.org/poky
synced 2026-09-13 09:49:32 +02:00
glib-2.0: patch CVE-2026-1484
Pick patches from [1] linked from [2]. [1] https://gitlab.gnome.org/GNOME/glib/-/issues/3870 [2] https://gitlab.gnome.org/GNOME/glib/-/merge_requests/4979 (From OE-Core rev: 67bc85229209e0405587c6747d9a98576d59e094) Signed-off-by: Peter Marko <peter.marko@siemens.com> Signed-off-by: Yoann Congal <yoann.congal@smile.fr> Signed-off-by: Paul Barker <paul@pbarker.dev> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
committed by
Richard Purdie
parent
ac842282aa
commit
fd826a83c7
48
meta/recipes-core/glib-2.0/glib-2.0/CVE-2026-1484-01.patch
Normal file
48
meta/recipes-core/glib-2.0/glib-2.0/CVE-2026-1484-01.patch
Normal file
@@ -0,0 +1,48 @@
|
|||||||
|
From 5ba0ed9ab2c28294713bdc56a8744ff0a446b59c Mon Sep 17 00:00:00 2001
|
||||||
|
From: Marco Trevisan <mail@3v1n0.net>
|
||||||
|
Date: Fri, 23 Jan 2026 18:48:30 +0100
|
||||||
|
Subject: [PATCH] gbase64: Use gsize to prevent potential overflow
|
||||||
|
MIME-Version: 1.0
|
||||||
|
Content-Type: text/plain; charset=UTF-8
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
|
||||||
|
Both g_base64_encode_step() and g_base64_encode_close() return gsize
|
||||||
|
values, but these are summed to an int value.
|
||||||
|
|
||||||
|
If the sum of these returned values is bigger than MAXINT, we overflow
|
||||||
|
while doing the null byte write.
|
||||||
|
|
||||||
|
Spotted by treeplus.
|
||||||
|
Thanks to the Sovereign Tech Resilience programme from the Sovereign
|
||||||
|
Tech Agency.
|
||||||
|
|
||||||
|
ID: #YWH-PGM9867-168
|
||||||
|
Closes: #3870
|
||||||
|
|
||||||
|
|
||||||
|
(cherry picked from commit 6845f7776982849a2be1d8c9b0495e389092bff2)
|
||||||
|
|
||||||
|
Co-authored-by: Marco Trevisan (Treviño) <mail@3v1n0.net>
|
||||||
|
|
||||||
|
CVE: CVE-2026-1484
|
||||||
|
Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/glib/-/commit/5ba0ed9ab2c28294713bdc56a8744ff0a446b59c]
|
||||||
|
Signed-off-by: Peter Marko <peter.marko@siemens.com>
|
||||||
|
---
|
||||||
|
glib/gbase64.c | 3 ++-
|
||||||
|
1 file changed, 2 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/glib/gbase64.c b/glib/gbase64.c
|
||||||
|
index 2ea4a4ef4..214b48911 100644
|
||||||
|
--- a/glib/gbase64.c
|
||||||
|
+++ b/glib/gbase64.c
|
||||||
|
@@ -264,8 +264,9 @@ g_base64_encode (const guchar *data,
|
||||||
|
gsize len)
|
||||||
|
{
|
||||||
|
gchar *out;
|
||||||
|
- gint state = 0, outlen;
|
||||||
|
+ gint state = 0;
|
||||||
|
gint save = 0;
|
||||||
|
+ gsize outlen;
|
||||||
|
|
||||||
|
g_return_val_if_fail (data != NULL || len == 0, NULL);
|
||||||
|
|
||||||
45
meta/recipes-core/glib-2.0/glib-2.0/CVE-2026-1484-02.patch
Normal file
45
meta/recipes-core/glib-2.0/glib-2.0/CVE-2026-1484-02.patch
Normal file
@@ -0,0 +1,45 @@
|
|||||||
|
From 25429bd0b22222d6986d000d62b44eebf490837d Mon Sep 17 00:00:00 2001
|
||||||
|
From: =?UTF-8?q?Marco=20Trevisan=20=28Trevi=C3=B1o=29?= <mail@3v1n0.net>
|
||||||
|
Date: Wed, 21 Jan 2026 20:09:44 +0100
|
||||||
|
Subject: [PATCH] gbase64: Ensure that the out value is within allocated size
|
||||||
|
|
||||||
|
We do not want to deference or write to it
|
||||||
|
|
||||||
|
Related to: #3870
|
||||||
|
|
||||||
|
CVE: CVE-2026-1484
|
||||||
|
Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/glib/-/commit/25429bd0b22222d6986d000d62b44eebf490837d]
|
||||||
|
Signed-off-by: Peter Marko <peter.marko@siemens.com>
|
||||||
|
---
|
||||||
|
glib/gbase64.c | 8 +++++++-
|
||||||
|
1 file changed, 7 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/glib/gbase64.c b/glib/gbase64.c
|
||||||
|
index 214b48911..0141b3b07 100644
|
||||||
|
--- a/glib/gbase64.c
|
||||||
|
+++ b/glib/gbase64.c
|
||||||
|
@@ -267,6 +267,7 @@ g_base64_encode (const guchar *data,
|
||||||
|
gint state = 0;
|
||||||
|
gint save = 0;
|
||||||
|
gsize outlen;
|
||||||
|
+ gsize allocsize;
|
||||||
|
|
||||||
|
g_return_val_if_fail (data != NULL || len == 0, NULL);
|
||||||
|
|
||||||
|
@@ -274,10 +275,15 @@ g_base64_encode (const guchar *data,
|
||||||
|
+1 is needed for trailing \0, also check for unlikely integer overflow */
|
||||||
|
g_return_val_if_fail (len < ((G_MAXSIZE - 1) / 4 - 1) * 3, NULL);
|
||||||
|
|
||||||
|
- out = g_malloc ((len / 3 + 1) * 4 + 1);
|
||||||
|
+ allocsize = (len / 3 + 1) * 4 + 1;
|
||||||
|
+ out = g_malloc (allocsize);
|
||||||
|
|
||||||
|
outlen = g_base64_encode_step (data, len, FALSE, out, &state, &save);
|
||||||
|
+ g_assert (outlen <= allocsize);
|
||||||
|
+
|
||||||
|
outlen += g_base64_encode_close (FALSE, out + outlen, &state, &save);
|
||||||
|
+ g_assert (outlen <= allocsize);
|
||||||
|
+
|
||||||
|
out[outlen] = '\0';
|
||||||
|
|
||||||
|
return (gchar *) out;
|
||||||
@@ -40,6 +40,8 @@ SRC_URI = "${GNOME_MIRROR}/glib/${SHRT_VER}/glib-${PV}.tar.xz \
|
|||||||
file://CVE-2025-14087-03.patch \
|
file://CVE-2025-14087-03.patch \
|
||||||
file://CVE-2025-14512.patch \
|
file://CVE-2025-14512.patch \
|
||||||
file://CVE-2026-0988.patch \
|
file://CVE-2026-0988.patch \
|
||||||
|
file://CVE-2026-1484-01.patch \
|
||||||
|
file://CVE-2026-1484-02.patch \
|
||||||
"
|
"
|
||||||
SRC_URI:append:class-native = " file://relocate-modules.patch \
|
SRC_URI:append:class-native = " file://relocate-modules.patch \
|
||||||
file://0001-meson.build-do-not-enable-pidfd-features-on-native-g.patch \
|
file://0001-meson.build-do-not-enable-pidfd-features-on-native-g.patch \
|
||||||
|
|||||||
Reference in New Issue
Block a user