Cisco Security Advisory: Multiple Vulnerabilities in the IOS FTP Server

2007-05-12T00:00:00
ID SECURITYVULNS:DOC:16991
Type securityvulns
Reporter Securityvulns
Modified 2007-05-12T00:00:00

Description

-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1

Cisco Security Advisory: Multiple Vulnerabilities in the IOS FTP Server

Advisory ID: cisco-sa-20070509-iosftp

http://www.cisco.com/warp/public/707/cisco-sa-20070509-iosftp.shtml

Revision 1.0

For Public Release 2007 May 09 1600 UTC (GMT)


Contents

Summary
Affected Products
Details
Vulnerability Scoring Details
Impact
Software Version and Fixes
Workarounds
Obtaining Fixed Software
Exploitation and Public Announcements
Status of this Notice: FINAL
Distribution
Revision History
Cisco Security Procedures

Summary

Multiple vulnerabilities exist in the Cisco IOS File Transfer Protocol (FTP) Server feature. These vulnerabilities include Denial of Service, improper verification of user credentials and the ability to read or write any file in the device's filesystem, including the device's saved configuration, which may include passwords or other sensitive information.

The IOS FTP Server is an optional service that is disabled by default. Devices that are not specifically configured to enable the IOS FTP Server service are unaffected by these vulnerabilities.

This vulnerability does not apply to the IOS FTP Client feature.

This advisory is posted at http://www.cisco.com/warp/public/707/cisco-sa-20070509-iosftp.shtml

Affected Products

Vulnerable Products +------------------

Cisco devices running IOS and configured for FTP server functionality are affected by these issues.

IOS versions based on 11.3, 12.0, 12.1, 12.2, 12.3 and 12.4 contain the IOS FTP server feature. The IOS FTP server feature was removed via CSCsg16908.

Only certain IOS releases based on the above IOS trains contain the IOS FTP server feature. For a device running Cisco IOS to be vulnerable, the following command must be present in the device configuration:

ftp-server enable

Products Confirmed Not Vulnerable +--------------------------------

Cisco devices that do not run IOS are not affected.

Cisco IOS devices that do not have the FTP server feature enabled are not affected.

Cisco IOS XR is not affected.

No other Cisco devices are known to be affected.

Details

Multiple vulnerabilities were discovered in the operation of the IOS FTP Server feature. They are documented as Cisco bug IDs:

  • CSCek55259 - Improper authorization checking in IOS FTP server
  • CSCse29244 - IOS reload when transferring files via FTP

Due to the above issues with the IOS FTP server, the feature is being removed. Cisco is considering adding more fully-featured and secure FTP server functionality at a later date.

The IOS FTP Server feature removal is addressed with Cisco bug ID CSCsg16908.

Vulnerability Scoring Details

Cisco is providing scores for the vulnerabilities in this advisory based on the Common Vulnerability Scoring System (CVSS).

Cisco will provide a base and temporal score. Customers can then compute environmental scores to assist in determining the impact of the vulnerability in individual networks.

Cisco PSIRT will set the bias in all cases to normal. Customers are encouraged to apply the bias parameter when determining the environmental impact of a particular vulnerability.

CVSS is a standards based scoring method that conveys vulnerability severity and helps determine urgency and priority of response.

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

Cisco Bug IDs:

CSCek55259 - Improper authorization checking in IOS FTP server

CVSS Base Score: 10.0 Access Vector: Remote Access Complexity: Low Authentication: Not Required Confidentiality Impact: Complete Integrity Impact: Complete Availability Impact: Complete Impact Bias: Normal

CVSS Temporal Score: 8.3 Exploitability: Functional Remediation Level: Official-Fix Report Confidence: Confirmed

CSCse29244 - IOS reload when transferring files via FTP

CVSS Base Score: 2.0 Access Vector: Remote Access Complexity: Low Authentication: Required Confidentiality Impact: None Integrity Impact: None Availability Impact: Complete Impact Bias: Normal

CVSS Temporal Score: 1.7 Exploitability: Functional Remediation Level: Official-Fix Report Confidence: Confirmed

Impact

Successful exploitation of these vulnerabilities may result in unauthorized users accessing the filesystem on the IOS device, a device restart, or remote code execution.

Unauthorized users could retrieve or write the device's startup-config from the filesystem, which may contain information that could enable privilege escalation.

Repeated exploitation of the vulnerabilities could lead to an extended Denial of Service (DoS).

Software Version and Fixes

When considering software upgrades, also consult http://www.cisco.com/go/psirt and any subsequent advisories to determine exposure and a complete upgrade solution.

In all cases, customers should exercise caution to be certain the devices to be upgraded contain sufficient memory and that current hardware and software configurations will continue to be supported properly by the new release. If the information is not clear, contact the Cisco Technical Assistance Center ("TAC") or your contracted maintenance provider for assistance.

Each row of the Cisco IOS software table (below) describes a release train. If a given release train is vulnerable, then the earliest possible releases that contain the fix (the "First Fixed Release") and the anticipated date of availability for each are listed in the "Rebuild" and "Maintenance" columns. A device running a release in the given train that is earlier than the release in a specific column (less than the First Fixed Release) is known to be vulnerable. The release should be upgraded at least to the indicated release or a later version (greater than or equal to the First Fixed Release label).

Software releases that are not listed in the below table are not affected.

For more information on the terms "Rebuild" and "Maintenance," consult the following URL: http://www.cisco.com/warp/public/620/1.html

+---------------------------------------+ | Major | Availability of | | Release | Repaired Releases | |--------------+------------------------| | Affected | | | | 12.0-Based | Rebuild | Maintenance | | Release | | | |--------------+------------------------| | 12.0 | Vulnerable; migrate to | | | 12.2(40a) or later | |--------------+------------------------| | 12.0T | Vulnerable; migrate to | | | 12.2(40a) or later | |--------------+------------------------| | 12.0XC | Vulnerable; migrate to | | | 12.2(40a) or later | |--------------+------------------------| | 12.0XK | Vulnerable; migrate to | | | 12.2(40a) or later | |--------------+------------------------| | 12.0WC | 12.0(5) | | | | WC17 | | |--------------+----------+-------------| | Affected | | | | 12.1-Based | Rebuild | Maintenance | | Release | | | |--------------+------------------------| | 12.1 | Vulnerable; migrate to | | | 12.2(40a) or later | |--------------+------------------------| | 12.1T | Vulnerable; migrate to | | | 12.2(40a) or later | |--------------+------------------------| | 12.1XH | Vulnerable; migrate to | | | 12.2(40a) or later | |--------------+------------------------| | 12.1XM | Vulnerable; migrate to | | | 12.3(21)or later | |--------------+------------------------| | Affected | | | | 12.2-Based | Rebuild | Maintenance | | Release | | | |--------------+----------+-------------| | 12.2 | 12.2 | 12.2(46) | | | (40a) | | |--------------+------------------------| | 12.2T | Vulnerable; migrate to | | | 12.3(21) or later | |--------------+------------------------| | 12.2XA | Vulnerable; migrate to | | | 12.3(21) or later | |--------------+------------------------| | 12.2XG | Vulnerable; migrate to | | | 12.3(21) or later | |--------------+------------------------| | 12.2XT | Vulnerable; migrate to | | | 12.3(21) or later | |--------------+------------------------| | 12.2ZF | Vulnerable; migrate to | | | 12.4(12) or later | |--------------+------------------------| | 12.2ZH | Vulnerable; contact | | | TAC | |--------------+------------------------| | 12.2ZJ | Vulnerable; migrate to | | | 12.4(12) or later | |--------------+------------------------| | 12.2ZL | Vulnerable; contact | | | TAC | |--------------+------------------------| | 12.2ZN | Vulnerable; migrate to | | | 12.4(12) or later | |--------------+------------------------| | Affected | | | | 12.3-Based | Rebuild | Maintenance | | Release | | | |--------------+----------+-------------| | 12.3 | | 12.3(21) | |--------------+------------------------| | 12.3B | Vulnerable; migrate to | | | 12.4(12) or later | |--------------+------------------------| | 12.3T | Vulnerable; migrate to | | | 12.4(12) or later | |--------------+------------------------| | 12.3TPC | Vulnerable; contact | | | TAC | |--------------+------------------------| | 12.3XA | Vulnerable; contact | | | TAC | |--------------+------------------------| | 12.3XC | Vulnerable; contact | | | TAC | |--------------+------------------------| | 12.3XD | Vulnerable; migrate to | | | 12.4(12) or later | |--------------+------------------------| | 12.3XE | Vulnerable; contact | | | TAC | |--------------+------------------------| | 12.3XF | Vulnerable; migrate to | | | 12.4(12) or later | |--------------+------------------------| | 12.3XG | Vulnerable; contact | | | TAC | |--------------+------------------------| | 12.3XH | Vulnerable; migrate to | | | 12.4(12) or later | |--------------+------------------------| | 12.3XK | Vulnerable; migrate to | | | 12.4(12) or later | |--------------+------------------------| | 12.3XQ | Vulnerable; migrate to | | | 12.4(12) or later | |--------------+------------------------| | 12.3XR | Vulnerable; contact | | | TAC | |--------------+------------------------| | 12.3XS | Vulnerable; migrate to | | | 12.4(12) or later | |--------------+------------------------| | 12.3XX | 12.3(8) | | | | XX2d | | |--------------+------------------------| | 12.3YA | Vulnerable; migrate to | | | 12.4(12) or later | |--------------+------------------------| | 12.3YD | Vulnerable; migrate to | | | 12.4(11)T or later | |--------------+------------------------| | 12.3YG | Vulnerable; migrate to | | | 12.4(11)T or later | |--------------+------------------------| | 12.3YH | Vulnerable; migrate to | | | 12.4(11)T or later | |--------------+------------------------| | 12.3YI | Vulnerable; migrate to | | | 12.4(11)T or later | |--------------+------------------------| | 12.3YK | Vulnerable; migrate to | | | 12.4(11)T or later | |--------------+------------------------| | 12.3YM | Vulnerable; contact | | | TAC | |--------------+------------------------| | 12.3YS | Vulnerable; migrate to | | | 12.4(11)T or later | |--------------+------------------------| | 12.3YT | Vulnerable; migrate to | | | 12.4(11)T or later | |--------------+------------------------| | 12.3YZ | Vulnerable; contact | | | TAC | |--------------+------------------------| | Affected | | | | 12.4-Based | Rebuild | Maintenance | | Release | | | |--------------+----------+-------------| | | 12.4 | | | | (10b) | | | |----------+-------------| | 12.4 | 12.4(3g) | | | |----------+-------------| | | 12.4(7d) | | | |----------+-------------| | | 12.4(8c) | 12.4(12) | |--------------+------------------------| | 12.4SW | Vulnerable; contact | | | TAC | |--------------+------------------------| | | 12.4(4) | | | | T6 | | | |----------+-------------| | 12.4T | 12.4(6) | | | | T6 | | | |----------+-------------| | | 12.4(9) | 12.4(11)T | | | T2 | | |--------------+------------------------| | 12.4XA | Vulnerable; migrate to | | | 12.4(6)T6 or later | |--------------+------------------------| | 12.4XC | 12.4(4) | | | | XC6 | | |--------------+----------+-------------| | 12.4XD | 12.4(4) | | | | XD4 | | |--------------+----------+-------------| | 12.4XE | 12.4(6) | | | | XE2 | | +---------------------------------------+

Workarounds

Customers may disable the use of the IOS FTP Server feature by adding the following command to the device configuration:

no ftp-server enable

Additional mitigations that can be deployed on Cisco devices within the network are available in the Cisco Applied Intelligence companion document for this advisory:

http://www.cisco.com/warp/public/707/cisco-air-20070509-iosftp.shtml

Alternative File Transfer Mechanisms +-----------------------------------

Cisco IOS supports multiple methods for transferring files to and from the device. One such method is Secure Copy (SCP). SCP is supported on Cisco IOS images that support strong cryptography. More information on the SCP feature can be found at the following url:

http://www.cisco.com/en/US/products/s6350/products_configuration_guide_chapter09186a00804831d0.html

Another alternative is using the Trivial File Transfer Protocol (TFTP) server in IOS. Information on configuring the TFTP server can be found here:

http://www.cisco.com/en/US/products/sw/iosswrel/ps1835/products_configuration_guide_chapter09186a00800ca738.html#wp1000912

If disabling the IOS FTP Server is not feasible, customers may limit FTP access to the device via one of several mechanisms detailed below.

Infrastructure ACLs (iACL) +-------------------------

Although it is often difficult to block traffic transiting your network, it is possible to identify traffic which should never be allowed to target your infrastructure devices and block that traffic at the border of your network. Infrastructure ACLs are considered a network security best practice and should be considered as a long-term addition to good network security as well as a workaround for this specific vulnerability. The ACL example shown below should be included as part of the deployed infrastructure access-list which will protect all devices with IP addresses in the infrastructure IP address range.

A sample access list for devices running Cisco IOS is below:

!--- Permit FTP services from trusted hosts destined 
!--- to infrastructure addresses.


access-list 150 permit tcp TRUSTED_HOSTS MASK INFRASTRUCTURE_ADDRESSES MASK eq 21
access-list 150 permit tcp TRUSTED_HOSTS MASK INFRASTRUCTURE_ADDRESSES MASK eq 20


!--- Deny FTP packets from all other sources destined to infrastructure addresses.


access-list 150 deny   tcp any INFRASTRUCTURE_ADDRESSES MASK eq 21
access-list 150 deny   tcp any INFRASTRUCTURE_ADDRESSES MASK eq 20


!--- Permit all other traffic to transit the device.


access-list 150 permit IP any any

interface serial 2/0
  ip access-group 150 in

The white paper entitled "Protecting Your Core: Infrastructure Protection Access Control Lists" presents guidelines and recommended deployment techniques for infrastructure protection access lists. This white paper can be obtained here: http://www.cisco.com/warp/public/707/iacl.html

Receive ACLs (rACL) +------------------

For distributed platforms, Receive ACLs may be an option starting in Cisco IOS Software Versions 12.0(21)S2 for the 12000 (GSR), 12.0(24)S for the 7500, and 12.0(31)S for the 10720. The Receive ACL protects the device from harmful traffic before the traffic can impact the route processor. Receive ACLs are designed to only protect the device on which it is configured. On the 12000, transit traffic is never affected by a receive ACL. Because of this, the destination IP address "any" used in the example ACL entries below only refer to the router's own physical or virtual IP addresses. On the 7500 and 10720, transit traffic with IP options set will be subject to the Receive ACL and permitted or denied accordingly. Receive ACLs are considered a network security best practice, and should be considered as a long-term addition to good network security, as well as a workaround for this specific vulnerability. The white paper entitled "GSR: Receive Access Control Lists" will help you identify and allow legitimate traffic to your device and deny all unwanted packets: http://www.cisco.com/warp/public/707/racl.html.

The following is the receive path ACL written to permit this type of traffic from trusted hosts:

!--- Permit FTP from trusted hosts allowed to the RP.


access-list 151 permit tcp TRUSTED_ADDRESSES MASK any eq 21
access-list 151 permit tcp TRUSTED_ADDRESSES MASK any eq 20


!--- Deny FTP from all other sources to the RP.


access-list 151 deny   tcp any any eq 21
access-list 151 deny   tcp any any eq 20


!--- Permit all other traffic to the RP.
!--- according to security policy and configurations.


access-list 151 permit ip any any


!--- Apply this access list to the 'receive' path.


ip receive access-list 151

Control Plane Policing (CoPP) +----------------------------

The Control Plane Policing (CoPP) feature may be used to mitigate these vulnerabilities. In the following example, only FTP traffic from trusted hosts and with 'receive' destination IP addresses is permitted to reach the route processor (RP).

It should be noted that dropping traffic from unknown or untrusted IP addresses may affect hosts with dynamically assigned IP addresses from connecting to the Cisco IOS device.

    access-list 152 deny   tcp TRUSTED_ADDRESSES MASK any eq 21
    access-list 152 deny   tcp TRUSTED_ADDRESSES MASK any eq 20
    access-list 152 permit tcp any any eq 20
    access-list 152 permit tcp any any eq 21
    access-list 152 deny    ip any any
    !
    class-map match-all COPP-KNOWN-UNDESIRABLE
     match access-group 152
    !
    !
    policy-map COPP-INPUT-POLICY
     class COPP-KNOWN-UNDESIRABLE
      drop
    !
    control-plane
     service-policy input COPP-INPUT-POLICY

In the above CoPP example, the ACL entries that match the exploit packets with the "permit" action result in these packets being discarded by the policy-map "drop" function, while packets that match the "deny" action are not affected by the policy-map drop function.

CoPP is available in Cisco IOS release trains 12.0S, 12.2SX, 12.2S, 12.3T, 12.4, and 12.4T.

Additional information on the configuration and use of the CoPP feature can be found at the following URL:

http://www.cisco.com/en/US/products/ps6642/products_white_paper0900aecd804fa16a.shtml

Obtaining Fixed Software

Cisco will make free software available to address this vulnerability for affected customers. This advisory will be updated as fixed software becomes available. 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 public announcements or malicious use of the vulnerability described in this advisory.

This vulnerability was reported to Cisco by a customer.

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.

Distribution

This advisory is posted on Cisco's worldwide website at: http://www.cisco.com/warp/public/707/cisco-sa-20070509-iosftp.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
  • first-teams@first.org
  • bugtraq@securityfocus.com
  • vulnwatch@vulnwatch.org
  • cisco@spot.colorado.edu
  • cisco-nsp@puck.nether.net
  • full-disclosure@lists.grok.org.uk
  • comp.dcom.sys.cisco@newsgate.cisco.com

Future updates of this advisory, if any, will be placed on Cisco's worldwide website, but may or may not be actively announced on mailing lists or newsgroups. Users concerned about this problem are encouraged to check the above URL for any updates.

Revision History

+---------------------------------------+ | Revision | | Initial | | 1.0 | 2007-May-09 | 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/en/US/products/products_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.


-----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.5 (SunOS)

iD8DBQFGQdbf8NUAbBmDaxQRAm0NAJ9Afj7rEDMQO+PolVME5taZE4R37ACfRGhS coBHHAO2nUFEBFKxuUDJH4Q= =phUK -----END PGP SIGNATURE-----