Date: Thu, 31 Jul 2008 15:08:59 +0000
From: Andrea Barisani <lcars@ocert.org.>
To: [email protected], [email protected],
Subject: [oCERT-2008-009] libxslt heap overflow
Message-ID: <20080731150859.GJ10031@fuse.inversepath.com.>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
X-GPG-Key: 0x864C9B9E
X-GPG-Fingerprint: 0A76 074A 02CD E989 CE7F AC3F DA47 578E 864C 9B9E
User-Agent: Mutt/1.5.16 (2007-06-09)
X-Virus-Scanned: antivirus-gw at tyumen.ru
2008/07/31 #2008-009 libxslt heap overflow
Description:
The libexslt library bundled with libxslt is affected by a heap-based buffer
overflow which can lead to arbitrary code execution.
The vulnerability is present in the rc4 encryption/decryption functions. An
arbitrary length string, passed as an argument in the XSL input, is
incorrectly copied over a padding variable which is previously allocated with
a fixed size of 128bit (RC4_KEY_LENGTH).
Aside from the heap overflow other bugs affect the code, the length of the
plaintext string argument is used for computing the key length rather than
the actual key and the zero-padding of the key is incorrectly computed.
A simple XML file with excessively long input can be crafted for triggering
the heap overflow.
The following patch fixes the issue:
http://www.ocert.org/patches/exslt_crypt.patch
Affected version:
libxslt >= 1.1.8, <= 1.1.24
Fixed version:
libxslt, N/A
Credit: vulnerability report and PoC code received from Chris Evans
<scarybeasts [at] gmail [dot] com>, Google Security Team.
CVE: CVE-2008-2935
Timeline:
2008-07-03: vulnerability report received
2008-07-08: contacted libxslt maintainer
2008-07-10: maintainer provides patch
2008-07-17: patch fixes finalized per reporter feedback
2008-07-18: contacted affected vendors
2008-07-31: advisory release
References:
http://www.scary.beasts.org/security/CESA-2008-003.html
Links:
http://xmlsoft.org/XSLT
Permalink:
http://www.ocert.org/advisories/ocert-2008-009.html
--
Andrea Barisani | Founder & Project Coordinator
oCERT | Open Source Computer Emergency Response Team
<lcars@ocert.org.> http://www.ocert.org
0x864C9B9E 0A76 074A 02CD E989 CE7F AC3F DA47 578E 864C 9B9E
"Pluralitas non est ponenda sine necessitate"