-
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 https://sec.cloudapps.cisco.com/security/center/content/CiscoSecurityAdvisory/cisco-sa-20020619-unix-vpn-buffer-overflow.
-
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.
-
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.
-
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.
-
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 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.
-
To learn about Cisco security vulnerability disclosure policies and publications, see the Security Vulnerability Policy. This document also contains instructions for obtaining fixed software and receiving security vulnerability information from Cisco.
-
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 is an uncontrolled copy, and may lack important information or contain factual errors. The information in this document is intended for end-users of Cisco products.