Multiple Vendor AgentX++ Integer Overflow Vulnerability
Agent Extensibility (AgentX) Protocol was designed to address interoperability issues with extensible SNMP agents. AgentX++ is a C++ implementation of the AgentX protocol. It is one of several C++ based SNMP libraries developed by Frank Fock. For more information refer to the URLs below.
Remote exploitation of an integer overflow vulnerability within AgentX++, as distributed with multiple vendors' products, allows attackers to execute arbitrary code with the privileges of the AgentX master process.
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.
iDefense confirmed the existence of this vulnerability in the following environments:
RealNetworks Helix Server v12 on Linux RealNetworks Helix Server v12 on Windows 2003 SP2 AgentX++ source code v1.4.16
All products utilizing the AgentX++ library are suspected to be vulnerable. Helix Server and Helix Mobile server versions prior to 14.0.0 are vulnerable (11.x,12.x and 13.x series).
iDefense is currently unaware of any workarounds for this issue.
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/Securi tyUpdate041410HS.pdf
The Common Vulnerabilities and Exposures (CVE) project has assigned the name CVE-2010-1319 to this issue. This is a candidate for inclusion in the CVE list (http://cve.mitre.org/), which standardizes names for security problems.
11/03/2008 Initial Vendor Notification
01/14/2009 Initial Vendor Reply
04/15/2010 Coordinated Public Disclosure
This vulnerability was discovered by Joshua J. Drake of iDefense Labs.
Get paid for vulnerability research
Free tools, research and upcoming events
Copyright © 2010 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 e-mail customer service 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.