[nsp] Cisco Security Advisory: Buffer Overflow in UNIX VPN Client

From: Cisco Systems Product Security Incident Response Team (psirt@cisco.com)
Date: Wed Jun 19 2002 - 10:00:00 EDT


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



This archive was generated by hypermail 2b29 : Sun Aug 04 2002 - 04:13:47 EDT