[Full-disclosure] iDEFENSE Security Advisory 04.26.05: Citrix Program Neighborhood Agent Buffer Overflow
From: iDEFENSE Labs (labs-no-reply_at_idefense.com)
Date: Tue, 26 Apr 2005 11:12:44 -0400 To: <email@example.com>, <firstname.lastname@example.org>, <email@example.com>
Citrix Program Neighborhood Agent Buffer Overflow
iDEFENSE Security Advisory 04.26.05
April 26, 2005
Citrix Program Neighborhood Agent is a part of the Citrix Presentation
Server Client and facilitates access to Citrix published applications.
Remote exploitation of a buffer overflow vulnerability in Citrix Systems
Inc.'s Program Neighborhood Agent allows attackers to execute arbitrary
code under the privileges of the client user.
The problem specifically exists in the client code responsible for
handling the caching of information received from the server. The
Program Neighborhood Agent caches information from published
applications in the AppCache folder, located in the users profile
directory. Cached icon filenames are named after the published
application. The filename is constructed from a series of calls to
lstrcatA() into a stack based buffer. Because of insufficient bounds
checking, a stack based buffer overflow can occur after the second call
to lstrcatA() as the filename read from the XML element <InName> is
being added to the AppCache folder path. This leads to the eventual
execution of arbitrary code.
Successful exploitation allows remote attackers to execute arbitrary
code under the privileges of the client user. Exploitation requires that
an attacker establish a malicious server and cause or convince the
target user to connect to it via the Program Neighborhood Agent. This
can be accomplished by social engineering or automatically when combined
with a DNS or ARP spoofing attack.
Exploitation of this vulnerability is not trivial. In order to exploit
this vulnerability reliably, an attacker must determine the length of
the target user's username. In some cases, this information can be
gleaned with standard Windows tools such as NBTSTAT. Furthermore,
because requests are cached by the client, an attacker in most cases has
only one window of opportunity to perform a successful attack.
iDEFENSE has confirmed the existance of this vulnerability in Citrix
MetaFrame Program Neighborhood v8.00.24737. It is suspected that earlier
versions are also vulnerable.
Utilize the server IP address instead of the name to circumvent DNS
VI. VENDOR RESPONSE
A vendor advisory for this vulnerability is available at:
Updated clients to address this vulnerability are available at:
VII. CVE INFORMATION
The Common Vulnerabilities and Exposures (CVE) project has assigned the
names CAN-2004-1078 to these issues. This is a candidate for inclusion
in the CVE list (http://cve.mitre.org), which standardizes names for
VIII. DISCLOSURE TIMELINE
11/23/2004 Initial vendor notification
11/24/2004 Initial vendor response
04/26/2005 Coordinated public disclosure
Patrik Karlsson (cqure.net) is credited with this discovery.
Get paid for vulnerability research
Free tools, research and upcoming events
X. LEGAL NOTICES
Copyright (c) 2005 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
email firstname.lastname@example.org 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,
Full-Disclosure - We believe in it.
Hosted and sponsored by Secunia - http://secunia.com/