diff options
Diffstat (limited to 'meta/recipes-core/libxml/libxml2')
-rw-r--r-- | meta/recipes-core/libxml/libxml2/CVE-2019-20388.patch | 37 | ||||
-rw-r--r-- | meta/recipes-core/libxml/libxml2/CVE-2020-7595.patch | 36 |
2 files changed, 73 insertions, 0 deletions
diff --git a/meta/recipes-core/libxml/libxml2/CVE-2019-20388.patch b/meta/recipes-core/libxml/libxml2/CVE-2019-20388.patch new file mode 100644 index 0000000000..4ee2d4fe62 --- /dev/null +++ b/meta/recipes-core/libxml/libxml2/CVE-2019-20388.patch | |||
@@ -0,0 +1,37 @@ | |||
1 | From 7ffcd44d7e6c46704f8af0321d9314cd26e0e18a Mon Sep 17 00:00:00 2001 | ||
2 | From: Zhipeng Xie <xiezhipeng1@huawei.com> | ||
3 | Date: Tue, 20 Aug 2019 16:33:06 +0800 | ||
4 | Subject: [PATCH] Fix memory leak in xmlSchemaValidateStream | ||
5 | |||
6 | When ctxt->schema is NULL, xmlSchemaSAXPlug->xmlSchemaPreRun | ||
7 | alloc a new schema for ctxt->schema and set vctxt->xsiAssemble | ||
8 | to 1. Then xmlSchemaVStart->xmlSchemaPreRun initialize | ||
9 | vctxt->xsiAssemble to 0 again which cause the alloced schema | ||
10 | can not be freed anymore. | ||
11 | |||
12 | Found with libFuzzer. | ||
13 | |||
14 | Upstream-Status: Accepted [https://gitlab.gnome.org/GNOME/libxml2/commit/7ffcd44d7e6c46704f8af0321d9314cd26e0e18a] | ||
15 | CVE: CVE-2019-20388 | ||
16 | |||
17 | Signed-off-by: Zhipeng Xie <xiezhipeng1@huawei.com> | ||
18 | Signed-off-by: Lee Chee Yang <chee.yang.lee@intel.com> | ||
19 | --- | ||
20 | xmlschemas.c | 1 - | ||
21 | 1 file changed, 1 deletion(-) | ||
22 | |||
23 | diff --git a/xmlschemas.c b/xmlschemas.c | ||
24 | index 301c8449..39d92182 100644 | ||
25 | --- a/xmlschemas.c | ||
26 | +++ b/xmlschemas.c | ||
27 | @@ -28090,7 +28090,6 @@ xmlSchemaPreRun(xmlSchemaValidCtxtPtr vctxt) { | ||
28 | vctxt->nberrors = 0; | ||
29 | vctxt->depth = -1; | ||
30 | vctxt->skipDepth = -1; | ||
31 | - vctxt->xsiAssemble = 0; | ||
32 | vctxt->hasKeyrefs = 0; | ||
33 | #ifdef ENABLE_IDC_NODE_TABLES_TEST | ||
34 | vctxt->createIDCNodeTables = 1; | ||
35 | -- | ||
36 | 2.24.1 | ||
37 | |||
diff --git a/meta/recipes-core/libxml/libxml2/CVE-2020-7595.patch b/meta/recipes-core/libxml/libxml2/CVE-2020-7595.patch new file mode 100644 index 0000000000..facfefd362 --- /dev/null +++ b/meta/recipes-core/libxml/libxml2/CVE-2020-7595.patch | |||
@@ -0,0 +1,36 @@ | |||
1 | From 0e1a49c8907645d2e155f0d89d4d9895ac5112b5 Mon Sep 17 00:00:00 2001 | ||
2 | From: Zhipeng Xie <xiezhipeng1@huawei.com> | ||
3 | Date: Thu, 12 Dec 2019 17:30:55 +0800 | ||
4 | Subject: [PATCH] Fix infinite loop in xmlStringLenDecodeEntities | ||
5 | |||
6 | When ctxt->instate == XML_PARSER_EOF,xmlParseStringEntityRef | ||
7 | return NULL which cause a infinite loop in xmlStringLenDecodeEntities | ||
8 | |||
9 | Found with libFuzzer. | ||
10 | |||
11 | Signed-off-by: Zhipeng Xie <xiezhipeng1@huawei.com> | ||
12 | |||
13 | Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/libxml2/commit/0e1a49c89076] | ||
14 | CVE: CVE-2020-7595 | ||
15 | Signed-off-by: Anuj Mittal <anuj.mittal@intel.com> | ||
16 | --- | ||
17 | parser.c | 3 ++- | ||
18 | 1 file changed, 2 insertions(+), 1 deletion(-) | ||
19 | |||
20 | diff --git a/parser.c b/parser.c | ||
21 | index d1c31963..a34bb6cd 100644 | ||
22 | --- a/parser.c | ||
23 | +++ b/parser.c | ||
24 | @@ -2646,7 +2646,8 @@ xmlStringLenDecodeEntities(xmlParserCtxtPtr ctxt, const xmlChar *str, int len, | ||
25 | else | ||
26 | c = 0; | ||
27 | while ((c != 0) && (c != end) && /* non input consuming loop */ | ||
28 | - (c != end2) && (c != end3)) { | ||
29 | + (c != end2) && (c != end3) && | ||
30 | + (ctxt->instate != XML_PARSER_EOF)) { | ||
31 | |||
32 | if (c == 0) break; | ||
33 | if ((c == '&') && (str[1] == '#')) { | ||
34 | -- | ||
35 | 2.24.1 | ||
36 | |||