Sha256: 7abc69c983e40eed51e89689333c0396d22a13f1b5d6ba7daa622703d0f4d049
Contents?: true
Size: 975 Bytes
Versions: 12
Compression:
Stored size: 975 Bytes
Contents
From 71ff91d66ecae4145a7c99476d1a0d1fa620b9f7 Mon Sep 17 00:00:00 2001 From: David Drysdale <drysdale@google.com> Date: Fri, 20 Nov 2015 10:47:12 +0800 Subject: [PATCH 13/18] CVE-2015-7497 Avoid an heap buffer overflow in xmlDictComputeFastQKey For https://bugzilla.gnome.org/show_bug.cgi?id=756528 It was possible to hit a negative offset in the name indexing used to randomize the dictionary key generation Reported and fix provided by David Drysdale @ Google --- dict.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/dict.c b/dict.c index 5f71d55..8c8f931 100644 --- a/dict.c +++ b/dict.c @@ -486,7 +486,10 @@ xmlDictComputeFastQKey(const xmlChar *prefix, int plen, value += 30 * (*prefix); if (len > 10) { - value += name[len - (plen + 1 + 1)]; + int offset = len - (plen + 1 + 1); + if (offset < 0) + offset = len - (10 + 1); + value += name[offset]; len = 10; if (plen > 10) plen = 10; -- 2.5.0
Version data entries
12 entries across 12 versions & 4 rubygems