From psirt@cisco.com Thu Jun 20 04:58:42 2002 From: Cisco Systems Product Security Incident Response Team To: bugtraq@securityfocus.com Cc: psirt@cisco.com Date: Wed, 19 Jun 2002 14:00:00 GMT Subject: Cisco Security Advisory: Buffer Overflow in UNIX VPN Client -----BEGIN PGP SIGNED MESSAGE----- Cisco Security Advisory: Buffer Overflow in UNIX VPN Client Revision 1.0 For Public Release 2002 June 19 at 14:00 GMT - --------------------------------------------------------------------------- Contents Summary Affected Products Details Impact Software Versions and Fixes Obtaining Fixed Software Workarounds Exploitation and Public Announcements Status of This Notice Distribution Revision History Cisco Product Security Procedures - --------------------------------------------------------------------------- Summary ======= A buffer overflow in the Cisco VPN Clients for Linux, Solaris, and Mac OS X platforms can be exploited locally to gain administrative privileges on the client system. The vulnerability can be mitigated by removing the "setuid" permissions on the vpnclient binary executable file. The Cisco VPN Clients for Windows platforms are not affected. The vulnerability has been repaired in version 3.5.2. Cisco is making fixed software available free to affected customers. This issue is documented as CSCdx39290. Cisco is not aware of any public discussion or active exploitation of this vulnerability. The official current copy of this security advisory is available at http://www.cisco.com/warp/public/707/cisco-unix-vpnclient-buffer-overflow-pub.shtml. Affected Products ================= This vulnerability affects versions 3.5.1 and earlier of the Cisco VPN Clients for Linux, Solaris, and Mac OS X platforms. It does not affect the Cisco VPN Clients for any Windows platform. No other Cisco product is affected. Details ======= The Cisco VPN (Virtual Private Network) Client establishes an encrypted tunnel between a local system and a Cisco VPN Concentrator. The tunnel provides confidentiality and integrity for the data in transit, allowing a user on the local system to securely connect to a corporate network via a public, possibly untrusted network. If an overly-long profile name is given as an argument to the vpnclient command, a buffer overflow occurs that overwrites return values on the system's stack. The contents of the overly-long profile name could be crafted to execute arbitrary instructions. The buffer overflow can only be exercised by executing the vpnclient command directly on the local system. By default, the vpnclient command is installed on a UNIX-based system as a binary executable file with setuid permissions. Since setuid files execute with the effective permissions of "root", the administrative user of a UNIX-based system, the arbitrary instructions will execute with administrative permissions. In lieu of installing fixed software, the vulnerability can be mitigated by removing the setuid permissions on the vpnclient binary executable file as shown below. This cannot prevent the buffer overflow from occurring, but limits the simple range of damage that could occur. The problem has been resolved by adding better tests for buffer overflows and by removing unnecessary setuid permissions on executable files in the software package as provided. Note that the cvpnd daemon, another one of the binary executable files in the software package, retains setuid permissions to preserve its ability to change the configuration of the network interface. This capability is essential for establishing, managing, and removing a VPN connection. This vulnerability is documented as CSCdx39290. Details can be viewed on-line by registered users of Cisco's website. Impact ====== The vulnerability could be exploited by a local user to execute arbitrary instructions. If the affected binary executable file is installed with setuid permissions, the instructions will execute with administrative permissions and could be used to modify any part of the system without authorization. The setuid permissions are set by default in the software package as supplied by Cisco. Software Versions and Fixes =========================== This vulnerability was found and reported in the Cisco VPN Client version 3.5.1 for Linux, and has been confirmed internally in the Cisco VPN Client for Solaris and Mac OS X. It has been repaired in version 3.5.2 for those affected platforms and is available immediately. All previous versions on the affected platforms are considered vulnerable. The fixes will be carried forward into all future versions. Obtaining Fixed Software ======================== Cisco is making fixed software available free of charge to all affected customers. Customers with contracts should obtain upgraded software through their regular update channels. For most customers, this means that upgrades should be obtained through the Software Center on Cisco's worldwide website at http://www.cisco.com/. Customers whose Cisco products are provided or maintained through prior or existing agreement with third-party support organizations such as Cisco Partners, authorized resellers, or service providers should contact that support organization for assistance with the upgrade, which should be free of charge. Customers who purchase direct from Cisco but who do not hold a Cisco service contract and customers who purchase through third-party vendors but are unsuccessful at obtaining fixed software through their point of sale should get their upgrades by contacting the Cisco Technical Assistance Center (TAC): * +1 800 553 2447 (toll-free from within North America) * +1 408 526 7209 (toll call from anywhere in the world) * e-mail: tac@cisco.com See http://www.cisco.com/warp/public/687/Directory/DirTAC.shtml for additional TAC contact information, including special localized telephone numbers, instructions, and e-mail addresses for use in various languages. Please have your product serial number available and give the URL of this notice as evidence of your entitlement to a free upgrade. Free upgrades for non-contract customers must be requested through the TAC. Please do not contact either "psirt@cisco.com" or "security-alert@cisco.com" for software upgrades. Workarounds =========== The vulnerability can be mitigated by removing setuid permissions on the vpnclient executable binary file using the chmod command on the affected file as follows: /bin/chmod 755 /usr/local/bin/vpnclient If unfixed versions of the software are re-installed at a later date or restored from backups, the workaround shown above must be executed again. Note: The workaround shown above does not prevent the buffer overflow from occurring. It merely limits the range of the simple damage that can occur if the overflow is exploited. Customers are urged to upgrade to fixed versions of the software as soon as possible. Also note that the cvpnd binary executable file must retain setuid permissions in order to operate correctly. Customers are cautioned not to use wildcards to remove setuid permissions on files in the VPN Client software package. Exploitation and Public Announcements ===================================== The Cisco PSIRT is not aware of any malicious exploitation nor public discussion of this vulnerability. This issue was reported directly to the Cisco PSIRT by methodic and Josha Bronson of AngryPacket Security. They are simultaneously publishing a security advisory at http://sec.angrypacket.com/advisories/0002_AP.vpnclient.txt. Status of This Notice: FINAL ============================ This is a final notice. Although Cisco cannot guarantee the accuracy of all statements in this notice, all of the facts have been checked to the best of our ability. Cisco does not anticipate issuing updated versions of this notice unless there is some material change in the facts. Should there be a significant change in the facts, Cisco may update this notice. A standalone copy or paraphrase of the text of this security advisory that omits the origin URL in the following section is an uncontrolled copy, and may lack important information or contain factual errors. Distribution ============ This notice will be posted on Cisco's worldwide website at http://www.cisco.com/warp/public/707/cisco-unix-vpnclient-buffer-overflow-pub.shtml. In addition to worldwide web posting, a text version of this notice is clear-signed with the Cisco PSIRT PGP key and is posted to the following e-mail and Usenet news recipients: * cust-security-announce@cisco.com * bugtraq@securityfocus.com * first-teams@first.org (includes CERT/CC) * cisco@spot.colorado.edu * cisco-nsp@puck.nether.net * comp.dcom.sys.cisco * firewalls@lists.gnac.com * Various internal Cisco mailing lists Future updates of this notice, if any, will be placed on Cisco's worldwide web server, but may or may not be actively announced on mailing lists or newsgroups. Users concerned about this problem are encouraged to check the URL given above for any updates. Revision History ================ +---------------------------------------------------------------------+ |Revision 1.0 |2002/06/19 |Initial public release. | +---------------------------------------------------------------------+ Cisco Product Security Procedures ================================= Complete information on reporting security vulnerabilities in Cisco products, obtaining assistance with security incidents, and registering to receive security information from Cisco, is available on Cisco's worldwide website at http://www.cisco.com/warp/public/707/sec_incident_response.shtml. This includes instructions for press inquiries regarding Cisco security notices. All Cisco Security Advisories are available at http://www.cisco.com/go/psirt/. - --------------------------------------------------------------------------- This notice is Copyright 2002 by Cisco Systems, Inc. This notice may be redistributed freely after the release date given at the top of the text, provided that redistributed copies are complete and unmodified, and include all date and version information. - --------------------------------------------------------------------------- -----BEGIN PGP SIGNATURE----- Version: PGP 6.5.2 iQEVAwUBPRChDA/VLJ+budTTAQGj8wf7BU28qYqzuZugxiC+2CuZzc5J8EByZKdW ZkfJeLSPzlsMpnZu5pwD0pnuz+6b5H5jkQ0/kbM503BldFDswbxTYXOZPm/IPPGH K85j3iUAwQL5Hs/WpHPHKjMAi3+CuWXbzZWHUn/P6FY7/2ob/0r5HiFuK0iAC+KF yH2mkgxfzl4EJXSo9ny8loAibr95MDxx0fOg44KXpsPKorQu1M8WJJTg/9Vl0Yh0 u33IfY+gOOQmYVGld9HsnmJpoUXo7AqEhlo5KSRt76g6M9v2G47shFckWYklQlwh hxZnJFTgmimQZUz+GRv+EMXJigkT3ViDRwjxq3Tmv7x+uUnq2tCIQg== =eFcP -----END PGP SIGNATURE-----