]> git.ipfire.org Git - thirdparty/openembedded/openembedded-core-contrib.git/commitdiff
libxml2: patch CVE-2025-32415
authorPeter Marko <peter.marko@siemens.com>
Sun, 27 Apr 2025 16:13:02 +0000 (18:13 +0200)
committerSteve Sakoman <steve@sakoman.com>
Mon, 28 Apr 2025 15:36:18 +0000 (08:36 -0700)
Pick commit from 2.13 branch as 2.12 branch is unmaintained now.

Signed-off-by: Peter Marko <peter.marko@siemens.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
meta/recipes-core/libxml/libxml2/CVE-2025-32415.patch [new file with mode: 0644]
meta/recipes-core/libxml/libxml2_2.12.10.bb

diff --git a/meta/recipes-core/libxml/libxml2/CVE-2025-32415.patch b/meta/recipes-core/libxml/libxml2/CVE-2025-32415.patch
new file mode 100644 (file)
index 0000000..d8ff654
--- /dev/null
@@ -0,0 +1,39 @@
+From 384cc7c182fc00c6d5e2ab4b5e3671b2e3f93c84 Mon Sep 17 00:00:00 2001
+From: Nick Wellnhofer <wellnhofer@aevum.de>
+Date: Sun, 6 Apr 2025 12:41:11 +0200
+Subject: [PATCH] [CVE-2025-32415] schemas: Fix heap buffer overflow in
+ xmlSchemaIDCFillNodeTables
+
+Don't use local variable which could contain a stale value.
+
+Fixes #890.
+
+CVE: CVE-2025-32415
+Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/libxml2/-/commit/384cc7c182fc00c6d5e2ab4b5e3671b2e3f93c84]
+Signed-off-by: Peter Marko <peter.marko@siemens.com>
+---
+ xmlschemas.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/xmlschemas.c b/xmlschemas.c
+index 28b14bd4..428e3c82 100644
+--- a/xmlschemas.c
++++ b/xmlschemas.c
+@@ -23324,7 +23324,7 @@ xmlSchemaIDCFillNodeTables(xmlSchemaValidCtxtPtr vctxt,
+                       j++;
+                   } while (j < nbDupls);
+               }
+-              if (nbNodeTable) {
++              if (bind->nbNodes) {
+                   j = 0;
+                   do {
+                       if (nbFields == 1) {
+@@ -23375,7 +23375,7 @@ xmlSchemaIDCFillNodeTables(xmlSchemaValidCtxtPtr vctxt,
+ next_node_table_entry:
+                       j++;
+-                  } while (j < nbNodeTable);
++                  } while (j < bind->nbNodes);
+               }
+               /*
+               * If everything is fine, then add the IDC target-node to
index 42672e35bd0cf0a30de62ca51e5e80a30030938f..2eea65732b3de16061d0418cfa5a2082ffaab0ac 100644 (file)
@@ -19,6 +19,7 @@ SRC_URI += "http://www.w3.org/XML/Test/xmlts20130923.tar;subdir=${BP};name=testt
            file://run-ptest \
            file://install-tests.patch \
            file://CVE-2025-32414.patch \
+           file://CVE-2025-32415.patch \
            "
 
 SRC_URI[archive.sha256sum] = "c3d8c0c34aa39098f66576fe51969db12a5100b956233dc56506f7a8679be995"