libxml2_13: fix CVE-2026-0992
This commit is contained in:
@@ -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
|
||||
---
|
||||
catalog.c | 18 ++++++++++++++++++
|
||||
1 file changed, 18 insertions(+)
|
||||
|
||||
diff --git a/catalog.c b/catalog.c
|
||||
index 46b877e62..fa6d77ca1 100644
|
||||
--- a/catalog.c
|
||||
+++ b/catalog.c
|
||||
@@ -1223,9 +1223,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) {
|
||||
--
|
||||
GitLab
|
||||
|
||||
|
||||
@@ -29,6 +29,10 @@ let
|
||||
url = "https://gitlab.gnome.org/GNOME/libxml2/-/commit/1961208e958ca22f80a0b4e4c9d71cfa050aa982.patch";
|
||||
hash = "sha256-Df2WLCTsP/ItSzgnVkNjRpLKkBP4xUOXEfCUV9o/Yks=";
|
||||
})
|
||||
|
||||
# Based on https://gitlab.gnome.org/GNOME/libxml2/-/commit/f75abfcaa419a740a3191e56c60400f3ff18988d
|
||||
# Vendored, because there is no xmlCatalogSetDebug in 2.13.9, use fprintf instead
|
||||
./2.13-CVE-2026-0992.patch
|
||||
];
|
||||
freezeUpdateScript = true;
|
||||
extraMeta = {
|
||||
|
||||
Reference in New Issue
Block a user