Patrick Williams | f1e5d69 | 2016-03-30 15:21:19 -0500 | [diff] [blame] | 1 | From 7ca19df892ca22d9314e95d59ce2abdeff46b617 Mon Sep 17 00:00:00 2001 |
| 2 | From: Daniel Veillard <veillard@redhat.com> |
| 3 | Date: Thu, 29 Oct 2015 19:33:23 +0800 |
| 4 | Subject: Fix for type confusion in preprocessing attributes |
| 5 | |
| 6 | CVE-2015-7995 http://www.openwall.com/lists/oss-security/2015/10/27/10 |
| 7 | We need to check that the parent node is an element before dereferencing |
| 8 | its namespace |
| 9 | |
| 10 | Upstream-Status: Backport |
Patrick Williams | d8c66bc | 2016-06-20 12:57:21 -0500 | [diff] [blame] | 11 | CVE: CVE-2015-7995 |
Patrick Williams | f1e5d69 | 2016-03-30 15:21:19 -0500 | [diff] [blame] | 12 | |
| 13 | https://git.gnome.org/browse/libxslt/commit/?id=7ca19df892ca22d9314e95d59ce2abdeff46b617 |
| 14 | |
| 15 | Signed-off-by: Armin Kuster <akuster@mvista.com> |
| 16 | |
| 17 | --- |
| 18 | libxslt/preproc.c | 3 ++- |
| 19 | 1 file changed, 2 insertions(+), 1 deletion(-) |
| 20 | |
| 21 | Index: libxslt-1.1.28/libxslt/preproc.c |
| 22 | =================================================================== |
| 23 | --- libxslt-1.1.28.orig/libxslt/preproc.c |
| 24 | +++ libxslt-1.1.28/libxslt/preproc.c |
| 25 | @@ -2245,7 +2245,8 @@ xsltStylePreCompute(xsltStylesheetPtr st |
| 26 | } else if (IS_XSLT_NAME(inst, "attribute")) { |
| 27 | xmlNodePtr parent = inst->parent; |
| 28 | |
| 29 | - if ((parent == NULL) || (parent->ns == NULL) || |
| 30 | + if ((parent == NULL) || |
| 31 | + (parent->type != XML_ELEMENT_NODE) || (parent->ns == NULL) || |
| 32 | ((parent->ns != inst->ns) && |
| 33 | (!xmlStrEqual(parent->ns->href, inst->ns->href))) || |
| 34 | (!xmlStrEqual(parent->name, BAD_CAST "attribute-set"))) { |