From labs-no-reply@idefense.com Tue Apr 26 14:04:20 2005 From: iDEFENSE Labs To: bugtraq@securityfocus.com, vulnwatch@vulnwatch.org, full-disclosure@lists.grok.org.uk Date: Tue, 26 Apr 2005 11:12:44 -0400 Subject: iDEFENSE Security Advisory 04.26.05: Citrix Program Neighborhood Agent Buffer Overflow Citrix Program Neighborhood Agent Buffer Overflow iDEFENSE Security Advisory 04.26.05 www.idefense.com/application/poi/display?id=238&type=vulnerabilities April 26, 2005 I. BACKGROUND Citrix Program Neighborhood Agent is a part of the Citrix Presentation Server Client and facilitates access to Citrix published applications. II. DESCRIPTION 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 is being added to the AppCache folder path. This leads to the eventual execution of arbitrary code. III. ANALYSIS 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. IV. DETECTION 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. V. WORKAROUND Utilize the server IP address instead of the name to circumvent DNS spoofing attacks. VI. VENDOR RESPONSE A vendor advisory for this vulnerability is available at: http://support.citrix.com/kb/entry.jspa?externalID=CTX105650 Updated clients to address this vulnerability are available at: http://www.citrix.com/English/SS/downloads/downloads.asp?dID=2755 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 security problems. VIII. DISCLOSURE TIMELINE 11/23/2004 Initial vendor notification 11/24/2004 Initial vendor response 04/26/2005 Coordinated public disclosure IX. CREDIT Patrik Karlsson (cqure.net) is credited with this discovery. Get paid for vulnerability research http://www.idefense.com/poi/teams/vcp.jsp Free tools, research and upcoming events http://labs.idefense.com 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 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.