|
|
|
|
| |
Credit:
The information has been provided by Joshua J. Drake.
The original article can be found at: http://labs.idefense.com/intelligence/vulnerabilities/display.php?id=868
|
| |
Vulnerable Systems:
* RealNetworks Helix Server v12 on Linux
* RealNetworks Helix Server v12 on Windows 2003 SP2
* AgentX++ source code v1.4.16
This vulnerability exists within the AgentX::receive_agentx function. If an attacker sends a request specifying the maximum 32-bit integer as the payload length, adding one will cause an integer overflow, resulting in the allocation of a "0" size buffer. Since an attacker can send as much, or as little, data as they wish, they can overflow the allocated heap buffer by an arbitrary amount.
Exploitation allows an attacker to execute arbitrary code with the privileges of the running AgentX master process. In order to exploit this vulnerability, the attacker must be able to connect to the AgentX master port, usually TCP port 705. No authentication is required.
The privileges with which this process runs varies in other situations. In order to listen on ports below 1024, root privileges are required. The master agent included with RealNetwork Helix Server v12 does not drop privileges after opening this port.
Although the issue is present in the Windows version of Helix Server v12, it is not exploitable due the implementation of the "recv" function in Winsock. In Windows, the "recv" function buffers incoming data, and will return a "WSAENOBUFS" error when a request is made for more bytes than will fit in the buffer. No data is read in this case.
Patch Availability:
RealNetworks Inc. has released a patch which addresses this issue. For more information, consult their advisory at the following URL.
http://www.realnetworks.com/uploadedFiles/Support/helix-support/SecurityUpdate041410HS.pdf
CVE Information:
CVE-2010-1319
Disclosure Timeline:
11/03/2008 Initial Vendor Notification
01/14/2009 Initial Vendor Reply
04/15/2010 Coordinated Public Disclosure
|
|
|
|
|