iDefense Security Advisory 04.15.10 - Remote exploitation of a stack-based buffer 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. By sending multiple blocks of data to the vulnerable function, an attacker could overwrite the data following the stack buffer, including the saved return address.
499590eb81a0b27fc47fa45064c8da26ab84f710c5e3d28fa2e9796dfe3c0034
iDefense Security Advisory 04.15.10
http://labs.idefense.com/intelligence/vulnerabilities/
Apr 15, 2010
I. BACKGROUND
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.
http://www.agentpp.com/
http://www.ietf.org/rfc/rfc2741.txt
II. DESCRIPTION
Remote exploitation of a stack-based buffer 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. By
sending multiple blocks of data to the vulnerable function, an attacker
could overwrite the data following the stack buffer, including the
saved return address.
III. ANALYSIS
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.
In the case of RealNetworks Helix Server v12, there is an option to
install the AgentX master as an NT service. If installed in this way,
the AgentX master will run with SYSTEM privileges. The privileges with
which this process runs varies in other situations.
Although the issue is present in the Linux version of Helix Server v12,
it is not exploitable due to stack buffer padding added by the GNU
compiler. Reliable code execution has been confirmed on Windows
targets.
IV. DETECTION
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).
V. WORKAROUND
iDefense is currently unaware of any workarounds for this issue.
VI. VENDOR RESPONSE
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
VII. CVE INFORMATION
The Common Vulnerabilities and Exposures (CVE) project has assigned the
name CVE-2010-1318 to this issue. This is a candidate for inclusion in
the CVE list (http://cve.mitre.org/), which standardizes names for
security problems.
VIII. DISCLOSURE TIMELINE
11/03/2008 Initial Vendor Notification
01/14/2009 Initial Vendor Reply
04/15/2010 Coordinated Public Disclosure
IX. CREDIT
This vulnerability was reported to iDefense by Manuel Santamarina
Suarez.
Get paid for vulnerability research
http://labs.idefense.com/methodology/vulnerability/vcp.php
Free tools, research and upcoming events
http://labs.idefense.com/
X. LEGAL NOTICES
Copyright © 2010 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 e-mail 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.