iDEFENSE Security Advisory 12.21.04: Multiple Vendor Xine version 0.99.2 PNM Handler Negative Read Length Heap Overflow Vulnerability
Multiple Vendor Xine version 0.99.2 PNM Handler Negative Read Length
Heap Overflow Vulnerability
iDEFENSE Security Advisory 12.21.04
www.idefense.com/application/poi/display?id=177&type=vulnerabilities
December 21, 2004
I. BACKGROUND
Xine is a multimedia player which runs on multiple platforms.
More information is available at:
http://xinehq.de/
II. DESCRIPTION
Remote exploitation of a buffer overflow in version 0.99.2 of xine could
allow execution of arbitrary code.
The vulnerability specifically exists in the RMF_TAG, DATA_TAG,
PROP_TAG, MDPR_TAG and CONT_TAG handling code of the pnm_get_chunk()
function. These tags are all handled by the same code. The code does not
perform correct checking on the chunk size before reading data in. If
the size given is less than the PREAMBLE_SIZE, a negative length read is
made into a fixed length buffer. Because the read length parameter is an
unsigned value, the negative length is interpreted as a very large
length, allowing a buffer overflow to occur.
III. ANALYSIS
Exploitation of this vulnerability allows execution of arbitrary code
with the privileges of the targeted user.
In order to exploit this vulnerability, an attacker would have to
convince the targeted user to open a connection to a malicious PNM
server with xine, using a pnm://address/ URL. Depending on configuration
options, this may be exploitable simply by clicking on a link, or it may
require the user to launch the application, specifically requesting the
malicious content.
IV. DETECTION
iDEFENSE Labs has confirmed the existence of this vulnerability in xine
version 0.99.2. It is suspected that earlier versions of xine also
contain this vulnerability.
This vulnerability also affects MPlayer prior to MPlayer 1.0pre5try2.
V. WORKAROUND
iDEFENSE is currently unaware of any effective workarounds for this
issue.
VI. VENDOR RESPONSE
xine-lib 1-rc8 was released to address this vulnerability and is
available for download at:
http://xinehq.de/index.php/releases
An xine patch for this vulnerability is available at:
http://cvs.sourceforge.net/viewcvs.py/xine/xine-lib/src/input/pnm.c?r1=1
.20&r2=1.21
An MPlayer patch for this vulnerability is available at:
http://www.mplayerhq.hu/MPlayer/patches/pnm_fix_20041215.diff
VII. CVE INFORMATION
The Common Vulnerabilities and Exposures (CVE) project has assigned the
names CAN-2004-1188 to these issues. This is a candidate for inclusion
in the CVE list (http://cve.mitre.org), which standardizes names for
security problems.
VIII. DISCLOSURE TIMELINE
12/10/2004 Initial vendor notification
12/11/2004 Initial vendor response
12/21/2004 Public disclosure
IX. CREDIT
The discoverer of this vulnerability wishes to remain anonymous.
Get paid for vulnerability research
http://www.idefense.com/poi/teams/vcp.jsp
X. LEGAL NOTICES
Copyright (c) 2004 iDEFENSE, Inc.
Permission is granted for the redistribution of this alert
electronically. It may not be edited in any way without the express
written consent of iDEFENSE. If you wish to reprint the whole or any
part of this alert in any other medium other than electronically, please
email customerservice@xxxxxxxxxxxx for permission.
Disclaimer: The information in the advisory is believed to be accurate
at the time of publishing based on currently available information. Use
of the information constitutes acceptance for use in an AS IS condition.
There are no warranties with regard to this information. Neither the
author nor the publisher accepts any liability for any direct, indirect,
or consequential loss or damage arising from use of, or reliance on,
this information.