30 lines
846 B
Diff
30 lines
846 B
Diff
From b9d4ab2fd6b7da380edab777a0414ef254804f0d Mon Sep 17 00:00:00 2001
|
|
From: Nick Wellnhofer <wellnhofer@aevum.de>
|
|
Date: Sat, 14 Oct 2023 22:45:54 +0200
|
|
Subject: [PATCH] [CVE-2024-25062] xmlreader: Don't expand XIncludes when
|
|
backtracking
|
|
|
|
Fixes a use-after-free if XML Reader if used with DTD validation and
|
|
XInclude expansion.
|
|
|
|
Fixes #604.
|
|
---
|
|
xmlreader.c | 1 +
|
|
1 file changed, 1 insertion(+)
|
|
|
|
diff --git a/xmlreader.c b/xmlreader.c
|
|
index 34c4c6bc..8f2f9131 100644
|
|
--- a/xmlreader.c
|
|
+++ b/xmlreader.c
|
|
@@ -1511,6 +1511,7 @@ node_found:
|
|
* Handle XInclude if asked for
|
|
*/
|
|
if ((reader->xinclude) && (reader->node != NULL) &&
|
|
+ (reader->state != XML_TEXTREADER_BACKTRACK) &&
|
|
(reader->node->type == XML_ELEMENT_NODE) &&
|
|
(reader->node->ns != NULL) &&
|
|
((xmlStrEqual(reader->node->ns->href, XINCLUDE_NS)) ||
|
|
--
|
|
2.44.0
|
|
|