summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNicolas Graves <ngraves@ngraves.fr>2025-03-06 21:19:19 +0100
committerZheng Junjie <z572@z572.online>2025-06-23 12:32:51 +0800
commit8dfd0173ee9a3d08f2b3a832216e81b69bfc95fd (patch)
tree6f9227cd4257f04ab0b290dedfc0e99405b60858
parentafaae8ab2fd080413e31a5843e2700405f2f8552 (diff)
gnu: tinyxml: Fix CVE-2023-34194.
* gnu/packages/patches/tinyxml-CVE-2023-34194.patch: Add patch. * gnu/packages/xml.scm, gnu/local.mk: Record it. Signed-off-by: Zheng Junjie <z572@z572.online>
-rw-r--r--gnu/local.mk1
-rw-r--r--gnu/packages/patches/tinyxml-CVE-2023-34194.patch28
-rw-r--r--gnu/packages/xml.scm3
3 files changed, 31 insertions, 1 deletions
diff --git a/gnu/local.mk b/gnu/local.mk
index 7ca1a02b9e..8ec28bc03a 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -2349,6 +2349,7 @@ dist_patch_DATA = \
%D%/packages/patches/tidy-CVE-2015-5522+5523.patch \
%D%/packages/patches/timewarrior-time-sensitive-tests.patch \
%D%/packages/patches/tinydir-fix-cbehave-test.patch \
+ %D%/packages/patches/tinyxml-CVE-2023-34194.patch \
%D%/packages/patches/tinyxml-use-stl.patch \
%D%/packages/patches/tk-find-library.patch \
%D%/packages/patches/tla2tools-build-xml.patch \
diff --git a/gnu/packages/patches/tinyxml-CVE-2023-34194.patch b/gnu/packages/patches/tinyxml-CVE-2023-34194.patch
new file mode 100644
index 0000000000..dee0aa1d93
--- /dev/null
+++ b/gnu/packages/patches/tinyxml-CVE-2023-34194.patch
@@ -0,0 +1,28 @@
+From: Guilhem Moulin <guilhem@debian.org>
+Date: Sat, 30 Dec 2023 14:15:54 +0100
+Subject: Avoid reachable assertion via crafted XML document with a '\0'
+ located after whitespace
+
+Bug: https://www.forescout.com/resources/sierra21-vulnerabilities
+Bug-Debian: https://bugs.debian.org/1059315
+Bug-Debian: https://security-tracker.debian.org/tracker/CVE-2023-34194
+Bug-Debian: https://security-tracker.debian.org/tracker/CVE-2023-40462
+---
+ tinyxmlparser.cpp | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/tinyxmlparser.cpp b/tinyxmlparser.cpp
+index 8aa0dfa..1601962 100644
+--- a/tinyxmlparser.cpp
++++ b/tinyxmlparser.cpp
+@@ -1606,6 +1606,10 @@ const char* TiXmlDeclaration::Parse( const char* p, TiXmlParsingData* data, TiXm
+ }
+
+ p = SkipWhiteSpace( p, _encoding );
++ if ( !p || !*p )
++ {
++ break;
++ }
+ if ( StringEqual( p, "version", true, _encoding ) )
+ {
+ TiXmlAttribute attrib;
diff --git a/gnu/packages/xml.scm b/gnu/packages/xml.scm
index 10cd6d98fa..2ae9209f75 100644
--- a/gnu/packages/xml.scm
+++ b/gnu/packages/xml.scm
@@ -1288,7 +1288,8 @@ UTF-8 and UTF-16 encoding.")
(sha256
(base32
"14smciid19lvkxqznfig77jxn5s4iq3jpb47vh5a6zcaqp7gvg8m"))
- (patches (search-patches "tinyxml-use-stl.patch"))))
+ (patches (search-patches "tinyxml-use-stl.patch"
+ "tinyxml-CVE-2023-34194.patch"))))
(build-system gnu-build-system)
;; This library is missing *a lot* of the steps to make it usable, so we
;; have to add them here, like every other distro must do.