gnu: expat: fix CVE-2018-20843
* gnu/packages/xml.scm (expat)[replacement]: New field. (expat/fixed): New variable. * gnu/packages/patches/expat-CVE-2018-20843.patch: New file. * gnu/local.mk (dist_patch_DATA): Add patch file. Signed-off-by: Marius Bakke <mbakke@fastmail.com>
This commit is contained in:
parent
f85c8dd8ae
commit
5a836ce38c
|
@ -784,6 +784,7 @@ dist_patch_DATA = \
|
||||||
%D%/packages/patches/evilwm-lost-focus-bug.patch \
|
%D%/packages/patches/evilwm-lost-focus-bug.patch \
|
||||||
%D%/packages/patches/exiv2-CVE-2017-14860.patch \
|
%D%/packages/patches/exiv2-CVE-2017-14860.patch \
|
||||||
%D%/packages/patches/exiv2-CVE-2017-14859-14862-14864.patch \
|
%D%/packages/patches/exiv2-CVE-2017-14859-14862-14864.patch \
|
||||||
|
%D%/packages/patches/expat-CVE-2018-20843.patch \
|
||||||
%D%/packages/patches/extundelete-e2fsprogs-1.44.patch \
|
%D%/packages/patches/extundelete-e2fsprogs-1.44.patch \
|
||||||
%D%/packages/patches/fastcap-mulGlobal.patch \
|
%D%/packages/patches/fastcap-mulGlobal.patch \
|
||||||
%D%/packages/patches/fastcap-mulSetup.patch \
|
%D%/packages/patches/fastcap-mulSetup.patch \
|
||||||
|
|
|
@ -0,0 +1,21 @@
|
||||||
|
Fix extraction of namespace prefix from XML name.
|
||||||
|
Fixes CVE-2018-20843
|
||||||
|
|
||||||
|
This patch comes from upstream commit 11f8838bf99ea0a6f0b76f9760c43704d00c4ff6
|
||||||
|
https://github.com/libexpat/libexpat/commit/11f8838bf99ea0a6f0b76f9760c43704d00c4ff6
|
||||||
|
|
||||||
|
CVE is https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-20843
|
||||||
|
|
||||||
|
diff --git a/expat/lib/xmlparse.c b/expat/lib/xmlparse.c
|
||||||
|
index 30d55c5..737d7cd 100644
|
||||||
|
--- a/lib/xmlparse.c
|
||||||
|
+++ b/lib/xmlparse.c
|
||||||
|
@@ -6071,7 +6071,7 @@ setElementTypePrefix(XML_Parser parser, ELEMENT_TYPE *elementType)
|
||||||
|
else
|
||||||
|
poolDiscard(&dtd->pool);
|
||||||
|
elementType->prefix = prefix;
|
||||||
|
-
|
||||||
|
+ break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return 1;
|
|
@ -66,6 +66,7 @@
|
||||||
(define-public expat
|
(define-public expat
|
||||||
(package
|
(package
|
||||||
(name "expat")
|
(name "expat")
|
||||||
|
(replacement expat/fixed)
|
||||||
(version "2.2.6")
|
(version "2.2.6")
|
||||||
(source (let ((dot->underscore (lambda (c) (if (char=? #\. c) #\_ c))))
|
(source (let ((dot->underscore (lambda (c) (if (char=? #\. c) #\_ c))))
|
||||||
(origin
|
(origin
|
||||||
|
@ -88,6 +89,14 @@ stream-oriented parser in which an application registers handlers for
|
||||||
things the parser might find in the XML document (like start tags).")
|
things the parser might find in the XML document (like start tags).")
|
||||||
(license license:expat)))
|
(license license:expat)))
|
||||||
|
|
||||||
|
(define expat/fixed
|
||||||
|
(package
|
||||||
|
(inherit expat)
|
||||||
|
(source
|
||||||
|
(origin
|
||||||
|
(inherit (package-source expat))
|
||||||
|
(patches (search-patches "expat-CVE-2018-20843.patch"))))))
|
||||||
|
|
||||||
(define-public libebml
|
(define-public libebml
|
||||||
(package
|
(package
|
||||||
(name "libebml")
|
(name "libebml")
|
||||||
|
|
Loading…
Reference in New Issue