Advisory ID: cisco-sa-20020619-unix-vpn-buffer-overflow
For Public Release 2002 June 19 14:00 UTC (GMT)
Vulnerability Scoring Details
Software Versions and Fixes
Obtaining Fixed Software
Exploitation and Public Announcements
Status of This Notice: Final
Cisco Security Procedures
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://tools.cisco.com/security/center/content/CiscoSecurityAdvisory/cisco-sa-20020619-unix-vpn-buffer-overflow.
This section provides details on affected products.
This vulnerability affects versions 3.5.1 and earlier of the Cisco VPN Clients for Linux, Solaris, and Mac OS X platforms.
This vulnerability does not affect the Cisco VPN Clients for any Windows platform.
No other Cisco products are currently known to be affected by these vulnerabilities.
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.
CVSS is a standards-based scoring method that conveys vulnerability severity and helps determine urgency and priority of response.
Cisco has provided a base and temporal score. Customers can then compute environmental scores to assist in determining the impact of the vulnerability in individual networks.
Cisco has provided an FAQ to answer additional questions regarding CVSS at
Cisco has also provided a CVSS calculator to help compute the environmental impact for individual networks at
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.
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.
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.
Cisco has made free software available to address this vulnerability for affected customers. Prior to deploying software, customers should consult their maintenance provider or check the software for feature set compatibility and known issues specific to their environment.
Customers may only install and expect support for the feature sets they have purchased. By installing, downloading, accessing or otherwise using such software upgrades, customers agree to be bound by the terms of Cisco's software license terms found at http://www.cisco.com/public/sw-license-agreement.html, or as otherwise set forth at Cisco.com Downloads at http://www.cisco.com/public/sw-center/sw-usingswc.shtml.
Do not contact either "email@example.com" or "firstname.lastname@example.org" for software upgrades.
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 guidance and assistance with the appropriate course of action in regards to this advisory.
The effectiveness of any workaround or fix is dependent on specific customer situations such as product mix, network topology, traffic behavior, and organizational mission. Due to the variety of affected products and releases, customers should consult with their service provider or support organization to ensure any applied workaround or fix is the most appropriate for use in the intended network before it is deployed.
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). TAC contacts are as follows.
+1 800 553 2447 (toll free from within North America)
+1 408 526 7209 (toll call from anywhere in the world)
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.
Refer to http://www.cisco.com/warp/public/687/Directory/DirTAC.shtml for additional TAC contact information, including special localized telephone numbers and instructions and e-mail addresses for use in various languages.
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.
THIS DOCUMENT IS PROVIDED ON AN "AS IS" BASIS AND DOES NOT IMPLY ANY KIND OF GUARANTEE OR WARRANTY, INCLUDING THE WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR USE. YOUR USE OF THE INFORMATION ON THE DOCUMENT OR MATERIALS LINKED FROM THE DOCUMENT IS AT YOUR OWN RISK. CISCO RESERVES THE RIGHT TO CHANGE OR UPDATE THIS DOCUMENT AT ANY TIME.
A stand-alone copy or Paraphrase of the text of this document that omits the distribution URL in the following section is an uncontrolled copy, and may lack important information or contain factual errors.
This notice will be posted on Cisco's worldwide website at http://tools.cisco.com/security/center/content/CiscoSecurityAdvisory/cisco-sa-20020619-unix-vpn-buffer-overflow. 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:
email@example.com (includes CERT/CC)
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.
Initial public release.
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/web/about/security/psirt/security_vulnerability_policy.html. This includes instructions for press inquiries regarding Cisco security notices. All Cisco security advisories are available at http://www.cisco.com/go/psirt.