From: Deepak Rathore <[email protected]> This patch applies the upstream 2.88.1 backport for CVE-2026-58011. The upstream fix commit is referenced in [1], and the public CVE advisory is referenced in [2].
[1] https://gitlab.gnome.org/GNOME/glib/-/commit/5627b376381f7bfe98f4c64bc2d9d363457ddb82 [2] https://nvd.nist.gov/vuln/detail/CVE-2026-58011 Signed-off-by: Deepak Rathore <[email protected]> --- .../glib-2.0/files/CVE-2026-58011.patch | 78 +++++++++++++++++++ meta/recipes-core/glib-2.0/glib.inc | 1 + 2 files changed, 79 insertions(+) create mode 100644 meta/recipes-core/glib-2.0/files/CVE-2026-58011.patch diff --git a/meta/recipes-core/glib-2.0/files/CVE-2026-58011.patch b/meta/recipes-core/glib-2.0/files/CVE-2026-58011.patch new file mode 100644 index 0000000000..e90891bffe --- /dev/null +++ b/meta/recipes-core/glib-2.0/files/CVE-2026-58011.patch @@ -0,0 +1,78 @@ +From 456bd48b32bfc79ebb69a5dcc8d86b0ce99f71d6 Mon Sep 17 00:00:00 2001 +From: Philip Withnall <[email protected]> +Date: Sun, 29 Mar 2026 23:46:17 +0100 +Subject: [PATCH] gdatetime: Add missing range validation to + g_date_time_add_full() +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Otherwise it’s possible to create a non-`NULL` but invalid `GDateTime`, +which breaks all kinds of internal assumptions. + +Spotted by linhlhq as #YWH-PGM9867-191. Thanks to them for providing a +suggested fix and a test case, which I have adapted and validated. + +Fixes: #3917 + +CVE: CVE-2026-58011 +Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/glib/-/commit/5627b376381f7bfe98f4c64bc2d9d363457ddb82] + +Backport Changes: +- Used the target branch's existing literal day bounds because it does + not have upstream's MIN_DAYS/MAX_DAYS helper macros. + +Signed-off-by: Philip Withnall <[email protected]> +(cherry picked from commit 5627b376381f7bfe98f4c64bc2d9d363457ddb82) +Signed-off-by: Deepak Rathore <[email protected]> +--- + glib/gdatetime.c | 4 +++- + glib/tests/gdatetime.c | 18 ++++++++++++++++++ + 2 files changed, 21 insertions(+), 1 deletion(-) + +diff --git a/glib/gdatetime.c b/glib/gdatetime.c +index 8d67354cf..cca2cdae3 100644 +--- a/glib/gdatetime.c ++++ b/glib/gdatetime.c +@@ -2076,7 +2076,9 @@ g_date_time_add_full (GDateTime *datetime, + new->days = full_time / USEC_PER_DAY; + new->usec = full_time % USEC_PER_DAY; + +- /* XXX validate */ ++ /* Validate it’s still in the range 0001-01-01 to 9999-12-31 */ ++ if (new->days < 1 || new->days > 3652059) ++ g_clear_pointer (&new, g_date_time_unref); + + return new; + } +diff --git a/glib/tests/gdatetime.c b/glib/tests/gdatetime.c +index 08e4075e9..d003a5445 100644 +--- a/glib/tests/gdatetime.c ++++ b/glib/tests/gdatetime.c +@@ -1146,6 +1146,24 @@ test_GDateTime_add_full (void) + TEST_ADD_FULL (2010, 8, 25, 22, 45, 0, + 0, 1, 6, 1, 25, 0, + 2010, 10, 2, 0, 10, 0); ++ ++#define TEST_ADD_FULL_ERROR(y,m,d,h,mi,s,ay,am,ad,ah,ami,as) G_STMT_START { \ ++ GDateTime *dt; \ ++ dt = g_date_time_new_utc (y, m, d, h, mi, s); \ ++ g_assert_null (g_date_time_add_full (dt, ay, am, ad, ah, ami, as)); \ ++ g_date_time_unref (dt); \ ++} G_STMT_END ++ ++ TEST_ADD_FULL_ERROR ( 1, 12, 1, 0, 0, 0, ++ -1, 0, 0, 0, 0, 0); ++ TEST_ADD_FULL_ERROR ( 1, 12, 1, 0, 0, 0, ++ 10000, 0, 0, 0, 0, 0); ++ TEST_ADD_FULL_ERROR ( 9999, 12, 1, 0, 0, 0, ++ -10000, 0, 0, 0, 0, 0); ++ TEST_ADD_FULL_ERROR ( 1, 12, 1, 0, 0, 0, ++ 0, 0, 3660001, 0, 0, 0); ++ TEST_ADD_FULL_ERROR ( 9999, 12, 1, 0, 0, 0, ++ 0, 0, -3660001, 0, 0, 0); + } + + static void +-- +2.35.6 diff --git a/meta/recipes-core/glib-2.0/glib.inc b/meta/recipes-core/glib-2.0/glib.inc index 36c837dc79..c961dbf660 100644 --- a/meta/recipes-core/glib-2.0/glib.inc +++ b/meta/recipes-core/glib-2.0/glib.inc @@ -234,6 +234,7 @@ SRC_URI += "\ file://0010-Do-not-hardcode-python-path-into-various-tools.patch \ file://skip-timeout.patch \ file://CVE-2026-58010.patch \ + file://CVE-2026-58011.patch \ " SRC_URI:append:class-native = " file://relocate-modules.patch \ file://0001-meson.build-do-not-enable-pidfd-features-on-native-g.patch \ -- 2.35.6
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#241021): https://lists.openembedded.org/g/openembedded-core/message/241021 Mute This Topic: https://lists.openembedded.org/mt/120285728/21656 Group Owner: [email protected] Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [[email protected]] -=-=-=-=-=-=-=-=-=-=-=-
