Public Vulnerability Reports

RealNetworks RealPlayer and Helix Player Invalid Chunk Size Heap Overflow Vulnerability

03.23.06

BACKGROUND

RealPlayer is an application for playing various media formats,
developed by RealNetworks Inc. For more information, visit
http://www.real.com/.

DESCRIPTION

Remote exploitation of a heap-based buffer overflow in RealNetwork Inc's
RealPlayer could allow the execution of arbitrary code in the context of
the currently logged in user.

The vulnerability specifically exists in the handling of the 'chunked'
Transfer-Encoding method. This method breaks the file the server is
sending up into 'chunks'. For each chunk, the server first sends the
length of the chunk in hexadecimal, followed by the chunk data. This is
repeated until there are no more chunks. The server then sends a chunk
length of 0 indicating the end of the transfer.

There are multiple ways of triggering this vulnerability.

    * Sending a well-formed chunk header with a length of -1 (FFFFFFFF)
      followed by malicious data.
    * Sending a well-formed chunk header with a length specified which is less
      than the amount of data that will be sent,
      followed by malicious data.
    * Not sending a chunk header before sending malicious data.

Each of these cases result in a heap overflow. Depending on the versions
used, certain of these cases will not cause exploitable issues. However,
the last case appears to be reliable in triggering a crash.

ANALYSIS

Successful exploitation allows a remote attacker to execute arbitrary
code with the privileges of the currently logged in user. In order to
exploit this vulnerability, an attacker would need to entice a user to
follow a link to a malicious server. Once the user visits a website
under the control of an attacker, it is possible in a default install of
RealPlayer to force a web-browser to use RealPlayer to connect to an
arbitrary server, even when it is not the default application for
handling those types, by the use of embedded object tags in a webpage.
This may allow automated exploitation when the page is viewed.

As the client sends its version information as part of the request, it
would be possible for an attacker to create a malicious server which
uses the appropriate offsets and shellcode for each version and platform
of the client.

DETECTION

iDefense has confirmed the existence of this vulnerability in RealPlayer
Version 10.4 and 10.5 for Windows and Both RealPlayer 10.4 and Helix
Player 1.4 for Linux.

The vendor has stated that the following versions are vulnerable:
* RealPlayer 10.5 (6.0.12.1040-1348)
* RealPlayer 10
* RealOne Player v2
* RealOne Player v1
* RealPlayer 8

It is suspected that previous versions of RealPlayer and Helix Player
are affected by this vulnerability.

WORKAROUND

Although there is no way to completely protect yourself from this
vulnerability, aside from removing the RealPlayer software, the
following actions may be taken to minimize the risk of automated
exploitation.

Disable ActiveX controls and plugins, if not necessary for daily
operations, using the following steps:

1. In IE, click on Tools and select Internet Options from the drop-down menu.
2. Click the Security tab and the Custom Level button.
3. Under ActiveX Controls and Plugins, then Run Activex Controls and Plugins,
click the Disable radio button.

In general, exploitation requires that a targeted user be socially
engineered into visiting a link to a server controlled by an attacker.
As such, do not visit unknown/untrusted website and do not follow
suspicious links.

When possible, run client software, especially applications such as IM
clients, web browsers and e-mail clients, from regular user accounts
with limited access to system resources. This may limit the immediate
consequences of client-side vulnerabilities such as this.

VENDOR RESPONSE

Information from the vendor about this vulnerability is available at to
following URL:

    http://service.real.com/realplayer/security/03162006_player/en/

CVE INFORMATION

The Common Vulnerabilities and Exposures (CVE) project has assigned the
name CAN-2005-2922 to this issue. This is a candidate for inclusion in
the CVE list (http://cve.mitre.org), which standardizes names for
security problems.

DISCLOSURE TIMELINE

09/08/2005   Initial vendor notification
09/09/2005   Initial vendor response
03/23/2006   Public disclosure

CREDIT

This vulnerability was found internally by Greg MacManus of iDefense Labs.

Get paid for vulnerability research
http://www.idefense.com/poi/teams/vcp.jsp

Free tools, research and upcoming events
http://labs.idefense.com

LEGAL NOTICES

Copyright © 2006 Verisign, 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.