[nsp] Cisco Security Advisory: ICMP Unreachable vulnerability in Cisco 12000 Series

From: Cisco Systems Product Security Incident Response Team (psirt@cisco.com)
Date: Wed Nov 14 2001 - 10:30:00 EST


-----BEGIN PGP SIGNED MESSAGE-----

 Cisco Security Advisory: ICMP Unreachable vulnerability in Cisco 12000
 Series
                                Internet Router
                                       
Revision 1.0

  For Public Release 2001 November 14 08:00 (UTC -0800)
     _________________________________________________________________
   
Summary

   The performance of Cisco 12000 series routers can be degraded when
   they have to send a large number of ICMP Unreachable packets. This
   situation usually can occur during a heavy network scanning. This
   vulnerability is tracked by three different bug IDs: CSCdr46528,
   CSCdt66560, CSCds36541. Each bug ID is assigned to a different Engine
   the line card is based upon.
   
   The rest of the Cisco routers and switches are not affected by this
   vulnerability. It is specific for Cisco 12000 Series.
   
   No other Cisco product is vulnerable.
   
   The workaround is to either prevent the router from sending Internet
   Control Message Protocol (ICMPs) unreachables at all or to rate limit
   them.
   
   This advisory is available at
   http://www.cisco.com/warp/public/707/GSR-unreachables-pub.shtml
   
Affected Products

   Only Cisco 12000 Series Internet Routers are affected with this
   vulnerability. No other routers or switches are affected. Not all line
   cards of a Cisco 12000 Series are affected by this vulnerability.
   Vulnerability is present in the underlying technology an individual
   line card is based upon. That technology is called "Engine".
   Currently, Cisco is shipping line cards based on the following
   Engines: 0, 1, 2, 3 and 4.
   
   To determine what Engine your card is based on, you need to log on the
   Cisco 12000 router and issue "sh diag" command while in enable mode.
   The engine type will be displayed as "L3 Engine: x" where x will be
   the correspoding number.
   
   The following example shows the output for an Engine 2 based line
   card.
   
          c12000#sh diag
          SLOT 1 (RP/LC 1 ): 1 Port Packet Over SONET OC-48c/STM-16
          Single Mode/SR SC-SC connector
          
                MAIN: type 41, 800-5271-01 rev A0 dev 0
                
                      HW config: 0x04 SW key: 00-00-00
                      
                PCA: 73-3295-05 rev A0 ver 5
                
                      HW version 1.1 S/N SDK034004AY
                      
                MBUS: Embedded Agent
                
                      Test hist: 0x00 RMA#: 00-00-00 RMA hist: 0x00
                      
                DIAG: Test count: 0x00000000 Test results: 0x00000000
                L3 Engine: 2 - Backbone OC48 (2.5 Gbps)
                ^^^^^^^^^^^^ <- Note the engine type
                [further output truncated]
                
   All line cards that are based on the Engines 0, 1 and 2 are
   vulnerable. Line cards based on the Engine 3 and 4 are not affected.
   
   The following table depicts which Cisco IOSŪ release is vulnerable to
   a particular issue:
   
  +--------------+------------------+------------------+--------------+
  | DDTS | 12.0S | 12.0SC | 12.0ST |
  +--------------+------------------+------------------+--------------+
  | CSCdr46528 | Vulnerable | | Vulnerable |
  +--------------+------------------+------------------+--------------+
  | CSCds36541 | Vulnerable | Vulnerable | Vulnerable |
  +--------------+------------------+------------------+--------------+
  | CSCdt66560 | Vulnerable | | Vulnerable |
  +--------------+------------------+------------------+--------------+
 
Details

   The received packet will be dropped when either there is no valid path
   to the destination or when the packet should be routerd to the Null0
   interface. The packets are either fast dropped (Engine 0 Line Cards)
   or hardware dropped (all other application-specific integrated circuit
   (ASIC) based forwarding Line Cards). Given the fast and hardware drop
   capabilities of the Cisco 12000, a large volume of traffic can be
   dropped without impacting the capabilities of the router. Whenever a
   packet is dropped the router must send an ICMP Unreachable packet back
   to the source. That is mandated by the Internet Standards.
   
   When a high volume of traffic is sent to the router that requires ICMP
   Unreachable replies, the processing of the replies can saturate the
   CPU. This condition can happen when the router is "Black Hole"
   filtering, dropping packets sent to it as the networks default path,
   or from a direct Denial of Service (DOS) against the router. For
   further information of "Black Hole" filtering consult the document:
   Essential IOS Features Every ISP Should Consider, section "Black
   Hole Routing as a Packet Filter".
   
   The following table shows the relationship between the vulnerabilities
   and Engine the line card is based on.
   
  
 +------------+---------------+--------------+----------------+---------+
 | DDTS | Engine 0 Engine 1 Engine 2 Engine 4|
 +------------+---------------+--------------+----------------+---------+
 |CSCdr46528 | Vulnerable | | | |
 +------------+---------------+--------------+----------------+---------+
 |CSCds36541 | | Vulnerable | | |
 +------------+---------------+--------------+----------------+---------+
 |CSCdt66560 | | | Vulnerable | |
 +------------+---------------+--------------+----------------+---------+
 
Impact

   Exploitation of this vulnerabilities may lead to the
   Denial-of-Service. The router's performance will degrade and, in the
   worst case scenario, the router will stop forwarding packets.
   
Software Versions and Fixes

   Each row of the table describes a release train and the platforms or
   products for which it is intended. If a given release train is
   vulnerable, then the earliest possible releases that contains the fix
   and the anticipated date of availability for each are listed in the
   "Rebuild", "Interim", and "Maintenance" columns. A device running any
   release in the given train that is earlier than the release in a
   specific column (less than the earliest fixed release) is known to be
   vulnerable, and it should be upgraded at least to the indicated
   release or a later version (greater than the earliest fixed release
   label).
   
   When selecting a release, keep in mind the following definitions:
   
   Maintenance
   Most heavily tested and highly recommended release of any label in a
   given row of the table.
   
   Rebuild
   Constructed from the previous maintenance or major release in the same
   train, it contains the fix for a specific defect. Although it receives
   less testing, it contains only the minimal changes necessary to effect
   the repair.
   
   Interim
   Built at regular intervals between maintenance releases and receives
   less testing. Interims should be selected only if there is no other
   suitable release that addresses the vulnerability, and interim images
   should be upgraded to the next available maintenance release as soon
   as possible. Interim releases are not available via manufacturing, and
   usually they are not available for customer download from CCO without
   prior arrangement with the Cisco TAC. 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 TAC for
   assistance as shown in the following section.
   
   More information on Cisco IOS software release names and abbreviations
   is available at http://www.cisco.com/warp/public/620/1.html.
   
  
+-------+------------------------+---------------------------------------+
| Train| Description of Image or| Availability of Fixed Releases* |
| | Platform | |
+-------+------------------------+---------------------------------------+
| Vulnerability CSCdr46528 | Rebuild | Interim** | Maintenance|
+-------+------------------------+-------------+------------+------------+
| 12.0S |Core/ISP support: GSR, |12.0(16)S1 |12.0(16.5)S | 12.0(17)S |
| |RSP, c7200 | | | |
| |Cisco IOS software | | | |
| |Release 12.OST is an | | | |
| |early deployment (ED) | | | |
+-------+------------------------+-------------+------------+------------+
|12.0ST |release for the Cisco |12.0(15.6)ST3|12.0(16.5)ST| 12.0(17)ST |
| |7200, 7500/7000RSP and | | | |
| |12000 (GSR) series | | | |
| |routers for Service | | | |
| |Providers (ISPs). | | | |
+-------+------------------------+-------------+------------+------------+
| Vulnerability CSCds36541 | Rebuild | Interim** | Maintenance|
+-------+------------------------+-------------+------------+------------+
| 12.0S |Core/ISP support: GSR, |12.0(13.6)S2 |12.0(14.1)S | 12.0(15)S |
| |RSP, c7200 | | | |
+-------+------------------------+-------------+------------+------------+
|12.0SC |Cable/broadband ISP: |12.0(13.6)SC1|12.0(14.6)SC| 12.0(15)SC |
| |ubr7200 | | | |
| |Cisco IOS software | | | |
| |Release 12.OST is an | | | |
| |early deployment (ED) | | | |
+-------+------------------------+-------------+------------+------------+
|12.0ST |release for the Cisco | |12.0(14.3)ST| |
| |7200, 7500/7000RSP and | | | |
| |12000 (GSR) series | | | |
| |routers for Service | | | |
| |Providers (ISPs). | | | |
+-------+------------------------+-------------+------------+------------+
| Vulnerability CSCdt66560 | Rebuild | Interim** | Maintenance|
+-------+------------------------+-------------+------------+------------+
| 12.0S |Core/ISP support: GSR, |12.0(16)S1 |12.0(16.6)S | 12.0(17)S |
| |RSP, c7200 | | | |
| |Cisco IOS software | | | |
| |Release 12.OST is an | | | |
| |early deployment (ED) | | | |
+-------+------------------------+-------------+------------+------------+
|12.0ST |release for the Cisco |12.0(15.6)ST3|12.0(16.6)ST| 12.0(17)ST |
| |7200, 7500/7000RSP and | | | |
| |12000 (GSR) series | | | |
| |routers for Service | | | |
| |Providers (ISPs). | | | |
+-------+------------------------+-------------+------------+------------+
| Notes |
| |
|* All dates are estimates and subject to change. |
| |
|** Interim releases are subjected to less rigorous testing than regular |
|maintenance releases, and may have serious bugs. |
+------------------------------------------------------------------------+
 
Obtaining Fixed Software

   Cisco is offering free software upgrades to eliminate this
   vulnerability for 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
   Web site 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). 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
       
   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

   There are two workarounds for this issue. The first one is to prevent
   the router from sending ICMP unreachables at all. That behavior is
   governed with the "no ip unreachables" command. This command sould be
   applied on an interface, like in this example:
   
router(config)#interface ethernet 0
router(config-if)#no ip unreachables

   It is possible to mitigate the problem by rate limiting number of ICMP
   unreachables packets that are sent. Here is the example:
   
router(config)#ip icmp rate-limit unreachable n

Where n is the number of milliseconds between two consecutive
ICMP ureachable packets. The default value is 500. That menas that one
ICMP unreachable packet is send every 500 ms.

Exploitation and Public Announcements

The Cisco PSIRT is aware that some ISPs have experiencing difficulties
due to this vulnerability.

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 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 Web site at
http://www.cisco.com/warp/public/707/GSR-unreachables-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
     * 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 2001-November-20 08:00 GMT -0800 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 Web site 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 2001 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.3

iQEVAwUBO/KVFQ/VLJ+budTTAQE6agf/W4XY4LDQnYDRYteJFLQMcLnUQl3DVvH/
lr362UficSuekqvLlhplmhm7migT7xP5mV0H8fY1wSJ0tuqmL3kOmTC2UqUd14Rz
jBnICHVVohtX6f042MfVl2fzJ0oAmcYhxT9MnwRiBlsfxDzUT1bC5yTe0DflXaq2
NcIKSWmy0BkFbmP1U/BysM9k/3CDvcdM1dOIdF+Hk9BZmOG8LqMXNg5IGne4qOk7
zecHRxu33PchXpy0V72KT2aJwmp7UtdVhYyQRmSk1uw+kau8zl0cXrMKASZaJIbk
3b7wHUo9aGy5PymW3hXCR1jjWtkYJoqBdm1tJLYYy/6riN5PzTaoBQ==
=hOsO
-----END PGP SIGNATURE-----



This archive was generated by hypermail 2b29 : Sun Aug 04 2002 - 04:12:54 EDT