From idlabs-advisories@idefense.com Fri Dec 24 03:47:56 2004 From: idlabs-advisories@idefense.com To: idlabs-advisories@idefense.com Date: Tue, 21 Dec 2004 17:03:18 -0500 Reply-To: customerservice@idefense.com Subject: [Full-Disclosure] 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@idefense.com 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. _______________________________________________ Full-Disclosure - We believe in it. Charter: http://lists.netsys.com/full-disclosure-charter.html