mirror of
https://git.yoctoproject.org/poky
synced 2026-09-16 00:49:32 +02:00
libxml2: patch CVE-2026-0992
Pick patch which closed [1].
Adapt for missing xmlCatalogPrintDebug per [2].
[1] https://gitlab.gnome.org/GNOME/libxml2/-/issues/1019
[2] 728869809e
(From OE-Core rev: 826dd15a99433c4066d2cd4546515d174d443350)
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
57126cdaa7
commit
bd21ac68d0
49
meta/recipes-core/libxml/libxml2/CVE-2026-0992.patch
Normal file
49
meta/recipes-core/libxml/libxml2/CVE-2026-0992.patch
Normal file
@@ -0,0 +1,49 @@
|
|||||||
|
From f75abfcaa419a740a3191e56c60400f3ff18988d Mon Sep 17 00:00:00 2001
|
||||||
|
From: Daniel Garcia Moreno <daniel.garcia@suse.com>
|
||||||
|
Date: Fri, 19 Dec 2025 11:02:18 +0100
|
||||||
|
Subject: [PATCH] catalog: Ignore repeated nextCatalog entries
|
||||||
|
|
||||||
|
This patch makes the catalog parsing to ignore repeated entries of
|
||||||
|
nextCatalog with the same value.
|
||||||
|
|
||||||
|
Fix https://gitlab.gnome.org/GNOME/libxml2/-/issues/1019
|
||||||
|
|
||||||
|
CVE: CVE-2026-0989
|
||||||
|
Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/libxml2/-/commit/f75abfcaa419a740a3191e56c60400f3ff18988d]
|
||||||
|
Signed-off-by: Peter Marko <peter.marko@siemens.com>
|
||||||
|
---
|
||||||
|
catalog.c | 18 ++++++++++++++++++
|
||||||
|
1 file changed, 18 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/catalog.c b/catalog.c
|
||||||
|
index 46b877e6..fa6d77ca 100644
|
||||||
|
--- a/catalog.c
|
||||||
|
+++ b/catalog.c
|
||||||
|
@@ -1266,9 +1266,27 @@ xmlParseXMLCatalogNode(xmlNodePtr cur, xmlCatalogPrefer prefer,
|
||||||
|
BAD_CAST "delegateURI", BAD_CAST "uriStartString",
|
||||||
|
BAD_CAST "catalog", prefer, cgroup);
|
||||||
|
} else if (xmlStrEqual(cur->name, BAD_CAST "nextCatalog")) {
|
||||||
|
+ xmlCatalogEntryPtr prev = parent->children;
|
||||||
|
+
|
||||||
|
entry = xmlParseXMLCatalogOneNode(cur, XML_CATA_NEXT_CATALOG,
|
||||||
|
BAD_CAST "nextCatalog", NULL,
|
||||||
|
BAD_CAST "catalog", prefer, cgroup);
|
||||||
|
+ /* Avoid duplication of nextCatalog */
|
||||||
|
+ while (prev != NULL) {
|
||||||
|
+ if ((prev->type == XML_CATA_NEXT_CATALOG) &&
|
||||||
|
+ (xmlStrEqual (prev->URL, entry->URL)) &&
|
||||||
|
+ (xmlStrEqual (prev->value, entry->value)) &&
|
||||||
|
+ (prev->prefer == entry->prefer) &&
|
||||||
|
+ (prev->group == entry->group)) {
|
||||||
|
+ if (xmlDebugCatalogs)
|
||||||
|
+ fprintf(stderr,
|
||||||
|
+ "Ignoring repeated nextCatalog %s\n", entry->URL);
|
||||||
|
+ xmlFreeCatalogEntry(entry, NULL);
|
||||||
|
+ entry = NULL;
|
||||||
|
+ break;
|
||||||
|
+ }
|
||||||
|
+ prev = prev->next;
|
||||||
|
+ }
|
||||||
|
}
|
||||||
|
if (entry != NULL) {
|
||||||
|
if (parent != NULL) {
|
||||||
@@ -27,6 +27,7 @@ SRC_URI += "http://www.w3.org/XML/Test/xmlts20130923.tar;subdir=${BP};name=testt
|
|||||||
file://CVE-2025-7425.patch \
|
file://CVE-2025-7425.patch \
|
||||||
file://CVE-2026-0989.patch \
|
file://CVE-2026-0989.patch \
|
||||||
file://CVE-2026-0990.patch \
|
file://CVE-2026-0990.patch \
|
||||||
|
file://CVE-2026-0992.patch \
|
||||||
"
|
"
|
||||||
|
|
||||||
SRC_URI[archive.sha256sum] = "c3d8c0c34aa39098f66576fe51969db12a5100b956233dc56506f7a8679be995"
|
SRC_URI[archive.sha256sum] = "c3d8c0c34aa39098f66576fe51969db12a5100b956233dc56506f7a8679be995"
|
||||||
|
|||||||
Reference in New Issue
Block a user