NGSSoftware Insight Security Research Advisory Name: RealPlayer Miscellaneous Vulnerabilities Systems Affected: RealPlayer 10.5 (6.0.12.1040) and older Severity: Low/Medium Vendor URL: http://www.real.com/ Author: John Heasman [ john@ngssoftware.com ] Date of Public Advisory: 19th January 2004 Advisory number: #NISR19012005g Advisory URL: http://www.ngssoftware.com/advisories/real-03full.txt Reference: http://www.ngssoftware.com/advisories/real-01.txt Description *********** Two vulnerabilities have been discovered in RealPlayer which may potentially be leveraged to allow remote code execution, or may used in combination with the Real Metadata Package File Deletion vulnerability to reliably delete files from a users system. The first of which is an off-by-one vulnerability in the processing of tags in the Real Metadata Package files. If an overly long tag is supplied, the null byte terminating the string is written over the highest order byte of the saved base pointer. This will cause the instruction pointer to be read from this buffer upon the function returning. Investigation of this issue showed that the buffer from which the instruction pointer was being read did not appear to be under user control at any given time in the tested scenarios, however due to the nature of the vulnerability it is important that this is not regarded as an impossibility. The second flaw is the way in which RealPlayer Skin file names are parsed when the files are opened by RealPlayer. If url encoded traversal sequences are included in the RJS filename, although RealPlayer will save the RJS file in the 'skins' folder without decoding the filename, when it attempts to open the file it will decode the filename, and as such can be made to read an arbitrary file from the disk. It does not seem possible to write arbitrary content to the system through the use of this flaw, it may be possible to use this to determine the existence of files on the local system, and as such could be combined with the Real Metadata Package File Deletion flaw to reliably delete files from a users system. Details ******* RealPlayer supports a proprietary package delivery file type, aptly named Real Metadata Packages. These files contain an HTML style language which contains information and resource urls for various packages and extensions to RealPlayer. One of the supported tags within the RMP file type is the tag. This is designed to point to a relative file which is to be downloaded. If the file which is to be downloaded already exists on the system, it will delete this file without warning. It is also possible to insert directory traversal character sequences in the file name to break out of the download directory, and to point to any existing file on the system. Before the the deletion takes place, RealPlayer ensures that the file extension is among those listed in the formats.ini file located at: C:\Program Files\Real\RealPlayer\DataCache\Formats\formats.ini It is possible to bypass this file extension check in the follow manner due to a lack in the file extension validation process: ../../../../../windows/system32/notepad.exe?.mp3 Fix Information *************** RealNetworks have released an update for these issues which can be downloaded from: http://service.real.com/help/faq/security/040928_player/EN/ A check for this vulnerability has been added to Typhon III, NGSSoftware's advanced vulnerability assessment scanner. For more information please visit the NGSSoftware website at http://www.ngssoftware.com/ About NGSSoftware ***************** NGSSoftware design, research and develop intelligent, advanced application security assessment scanners. Based in the United Kingdom, NGSSoftware have offices in the South of London and the East Coast of Scotland. NGSSoftware's sister company NGSConsulting, offers best of breed security consulting services, specialising in application, host and network security assessments. http://www.ngssoftware.com/ Telephone +44 208 401 0070 Fax +44 208 401 0076 enquiries@ngssoftware.com