Cisco Security Advisory

Buffer Overflow in UNIX VPN Client

Advisory ID: cisco-sa-20020619-unix-vpn-buffer-overflow

http://tools.cisco.com/security/center/content/CiscoSecurityAdvisory/cisco-sa-20020619-unix-vpn-buffer-overflow

Revision 1.0

For Public Release 2002 June 19 14:00  UTC (GMT)


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://tools.cisco.com/security/center/content/CiscoSecurityAdvisory/cisco-sa-20020619-unix-vpn-buffer-overflow.

Affected Products

This section provides details on affected products.

Vulnerable Products

This vulnerability affects versions 3.5.1 and earlier of the Cisco VPN Clients for Linux, Solaris, and Mac OS X platforms.

Products Confirmed Not Vulnerable

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.

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.

Vulnerability Scoring Details

Cisco has provided scores for the vulnerabilities in this advisory based on the Common Vulnerability Scoring System (CVSS). The CVSS scoring in this Security Advisory is done in accordance with CVSS version 2.0.

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
http://www.cisco.com/web/about/security/intelligence/cvss-qandas.html .

Cisco has also provided a CVSS calculator to help compute the environmental impact for individual networks at
http://intellishield.cisco.com/security/alertmanager/cvss .


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.


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.

Obtaining Fixed Software

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 "psirt@cisco.com" or "security-alert@cisco.com" for software upgrades.

Customers with Service Contracts

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 Using Third-Party Support Organizations

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 Without Service Contracts

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)
  • e-mail: tac@cisco.com

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.

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 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.


Distribution

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:

  • 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-June-19

Initial public release.

Cisco 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/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.


Download this document (PDF)
View Printable Version