[OE-core] [PATCH][zeus] libxml2: Fix CVE-2019-19956

akuster808 akuster808 at gmail.com
Thu Jan 23 05:45:41 UTC 2020



On 1/22/20 6:09 PM, chee.yang.lee at intel.com wrote:
> From: Lee Chee Yang <chee.yang.lee at intel.com>
>
> see:
> https://gitlab.gnome.org/GNOME/libxml2/commit/5a02583c7e683896d84878bd90641d8d9b0d0549
>
> Signed-off-by: Lee Chee Yang <chee.yang.lee at intel.com>

So Master is not affected? 2.9.10

- armin
> ---
>  .../libxml/libxml2/Fix-CVE-2019-19956.patch        | 40 ++++++++++++++++++++++
>  meta/recipes-core/libxml/libxml2_2.9.9.bb          |  1 +
>  2 files changed, 41 insertions(+)
>  create mode 100644 meta/recipes-core/libxml/libxml2/Fix-CVE-2019-19956.patch
>
> diff --git a/meta/recipes-core/libxml/libxml2/Fix-CVE-2019-19956.patch b/meta/recipes-core/libxml/libxml2/Fix-CVE-2019-19956.patch
> new file mode 100644
> index 0000000..1c2dff9
> --- /dev/null
> +++ b/meta/recipes-core/libxml/libxml2/Fix-CVE-2019-19956.patch
> @@ -0,0 +1,40 @@
> +From 5a02583c7e683896d84878bd90641d8d9b0d0549 Mon Sep 17 00:00:00 2001
> +From: Zhipeng Xie <xiezhipeng1 at huawei.com>
> +Date: Wed, 7 Aug 2019 17:39:17 +0800
> +Subject: [PATCH] Fix memory leak in xmlParseBalancedChunkMemoryRecover
> +
> +When doc is NULL, namespace created in xmlTreeEnsureXMLDecl
> +is bind to newDoc->oldNs, in this case, set newDoc->oldNs to
> +NULL and free newDoc will cause a memory leak.
> +
> +Found with libFuzzer.
> +
> +Closes #82.
> +
> +Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/libxml2/commit/5a02583c7e683896d84878bd90641d8d9b0d0549]
> +CVE: CVE-2019-19956
> +
> +Signed-off-by: Chee Yang Lee <chee.yang.lee at intel.com>
> +
> +---
> + parser.c | 3 ++-
> + 1 file changed, 2 insertions(+), 1 deletion(-)
> +
> +diff --git a/parser.c b/parser.c
> +index 1ce1ccf1..26d9f4e3 100644
> +--- a/parser.c
> ++++ b/parser.c
> +@@ -13894,7 +13894,8 @@ xmlParseBalancedChunkMemoryRecover(xmlDocPtr doc, xmlSAXHandlerPtr sax,
> +     xmlFreeParserCtxt(ctxt);
> +     newDoc->intSubset = NULL;
> +     newDoc->extSubset = NULL;
> +-    newDoc->oldNs = NULL;
> ++    if(doc != NULL)
> ++	newDoc->oldNs = NULL;
> +     xmlFreeDoc(newDoc);
> + 
> +     return(ret);
> +-- 
> +2.24.1
> +
> +
> diff --git a/meta/recipes-core/libxml/libxml2_2.9.9.bb b/meta/recipes-core/libxml/libxml2_2.9.9.bb
> index c38f883..c44a90b 100644
> --- a/meta/recipes-core/libxml/libxml2_2.9.9.bb
> +++ b/meta/recipes-core/libxml/libxml2_2.9.9.bb
> @@ -20,6 +20,7 @@ SRC_URI = "http://www.xmlsoft.org/sources/libxml2-${PV}.tar.gz;name=libtar \
>             file://libxml-m4-use-pkgconfig.patch \
>             file://0001-Make-ptest-run-the-python-tests-if-python-is-enabled.patch \
>             file://fix-execution-of-ptests.patch \
> +           file://Fix-CVE-2019-19956.patch \
>             "
>  
>  SRC_URI[libtar.md5sum] = "c04a5a0a042eaa157e8e8c9eabe76bd6"



More information about the Openembedded-core mailing list