Guest

Products & Services

Cisco IOS XR Software Memory Exhaustion Vulnerability

Advisory ID: cisco-sa-20131002-iosxr

http://tools.cisco.com/security/center/content/CiscoSecurityAdvisory/cisco-sa-20131002-iosxr

Revision 1.0

For Public Release 2013 October 2 16:00  UTC (GMT)


Summary

Cisco IOS XR Software version 4.3.1 contains a vulnerability that could result in complete packet memory exhaustion.  Successful exploitation could render critical services on the affected device unable to allocate packets resulting in a denial of service (DoS) condition.

Cisco has released free software updates that address this vulnerability.

Workarounds that mitigate this vulnerability are available.

This advisory is available at the following link: http://tools.cisco.com/security/center/content/CiscoSecurityAdvisory/cisco-sa-20131002-iosxr

Affected Products

Vulnerable Products

This vulnerability affects Cisco IOS XR Software version 4.3.1 installed on any supported hardware device.

If a UDP listening service is enabled on the device, it is vulnerable. Typical configurations that use UDP services (and their default UDP port numbers) are as follows:
  • Simple Network Management Protocol (SNMP) - UDP Ports 161 and 162
  • Network Time Protocol (NTP) - UDP port 123
  • Label Distribution Protocol (LDP) - UDP port 646
  • Syslog - UDP port 514
To determine potential features configured on the Cisco IOS XR device that use UDP as a transport mechanism, administrators can log in to the device and issue the show udp brief command-line interface (CLI) command.  The local address port numbers are important.  The local address port numbers are indicated by the final set of numbers in the Local Address column.  For example :::123 and 0.0.0.0:123 specify the NTP feature.  The following example shows a vulnerable device configured, with NTP, SNMP, Syslog and LDP:
RP/0/0/CPU0:example#show udp brief
Tue Aug 27 08:57:56.255 PST
   PCB     VRF-ID     Recv-Q Send-Q  Local Address          Foreign Address
0x500f87c4 0x60000000      0      0  :::123                 :::0                  
0x500f9af8 0x00000000      0      0  :::123                 :::0                  
0x500fc28c 0x60000000      0      0  :::161                 :::0                  
0x500fc074 0x00000000      0      0  :::161                 :::0                  
0x500fc88c 0x60000000      0      0  :::162                 :::0                  
0x500fc5fc 0x00000000      0      0  :::162                 :::0                  
0x500f8404 0x60000000      0      0  0.0.0.0:514            0.0.0.0:0             
0x500fa4d8 0x60000000      0      0  0.0.0.0:123            0.0.0.0:0             
0x500fa338 0x00000000      0      0  0.0.0.0:123            0.0.0.0:0             
0x500fce3c 0x60000000      0      0  0.0.0.0:646            0.0.0.0:0             
0x500f9c98 0x60000000      0      0  0.0.0.0:161            0.0.0.0:0             
0x500fb360 0x00000000      0      0  0.0.0.0:161            0.0.0.0:0             
0x500fbbbc 0x60000000      0      0  0.0.0.0:162            0.0.0.0:0             
0x500fa184 0x00000000      0      0  0.0.0.0:162            0.0.0.0:0             
0x500f8f10 0x00000000      0      0  0.0.0.0:0              0.0.0.0:0             
RP/0/0/CPU0:example#
To determine the version of Cisco IOS XR Software installed on a Cisco device, administrators can log in to the device and issue the show version command to display the system banner. The system banner confirms that the device is running Cisco IOS XR Software by displaying text similar to "Cisco IOS XR Software". The software version is displayed after the text "Cisco IOS XR Software".

The following example identifies a Cisco 12000 series device with Cisco IOS XR Software version 4.3.1 installed:
RP/0/0/CPU0:example#show version brief
Tue Aug 27 09:07:39.614 PST

Cisco IOS XR Software, Version 4.3.1[Default]
Copyright (c) 2013 by Cisco Systems, Inc.

ROM: System Bootstrap, Version 12.00(20090302:133850) [rtauro-sw30346-33S 1.23dev(0.36)] DEVELOPMENT SOFTWARE
Copyright (c) 1994-2009 by cisco Systems,  Inc.

<output truncated>
Additional information about Cisco IOS XR Software release naming conventions is available in White Paper: Cisco IOS Reference Guide.

Additional information about Cisco IOS XR Software time-based release model is available in White Paper: Guidelines for Cisco IOS XR Software.

Products Confirmed Not Vulnerable

No other Cisco products are currently known to be affected by this vulnerability.

Details

Cisco IOS XR Software Memory Exhaustion Vulnerability.

A vulnerability in the UDP process of Cisco IOS XR Software version 4.3.1 could allow an unauthenticated, remote attacker to cause the UDP process to consume all available packet memory.

The vulnerability is due to the failure of the device to release memory of allocated UDP packets when the packet queues are full. An attacker could exploit this vulnerability by potentially sending traffic to listening UDP services on the affected device. An exploit could allow the attacker to cause the device to exhaust all available memory, causing the device to be unable to allocate memory for packets sent to it.

This vulnerability has been documented in Cisco Bug ID CSCue69413 (registered customers only) and has been assigned Common Vulnerabilities and Exposures (CVE) ID CVE-2013-5503.

This vulnerability is triggered under certain conditions with either normal or malformed traffic directed at listening UDP services on the affected device.  Transit traffic will not trigger this vulnerability.  This vulnerability can be exploited using either IP version 4 (IPv4) or IP version 6 (IPv6) traffic.

The device will issue a warning message when the vulnerability is being exploited:
%PKT_INFRA-PAKWATCH-4-DEPLETION_WARNING : Depletion level <value> percent for resource PAK FSV
Administrators are advised to log into the device and issue the CLI command show packet-memory summary.  If the output indicates the UDP process is holding most of the memory (as indicated by the percentage column) this could be an indication that the device is being exploited by the vulnerability described in this advisory.  The following example depicts a device that has been exploited:
      RP/0/0/CPU0:example#show packet-memory summary
      Wed Aug 28 07:53:21.667 PST 
ProcId JobId Count Percentage Process 739020993 403 17992 100.00% pkg/bin/udp RP/0/0/CPU0:example#

Vulnerability Scoring Details

Cisco has scored the vulnerability in this advisory based on the Common Vulnerability Scoring System (CVSS). The CVSS scoring in this security advisory is in accordance with CVSS version 2.0.

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

Cisco has provided a base and temporal score. Customers can also compute environmental scores that help determine the impact of the vulnerability in their own networks.

Cisco has provided additional information regarding CVSS at the following link:

http://www.cisco.com/web/about/security/intelligence/cvss-qandas.html

Cisco has also provided a CVSS calculator to compute the environmental impact for individual networks at the following link:

http://intellishield.cisco.com/security/alertmanager/cvss



Cisco IOS XR Software Memory Exhaustion Vulnerability.

Calculate the environmental score of CSCue69413

CVSS Base Score - 7.8

Access Vector

Access Complexity

Authentication

Confidentiality Impact

Integrity Impact

Availability Impact

Network

Low

None

None

None

Complete

CVSS Temporal Score - 6.4

Exploitability

Remediation Level

Report Confidence

Functional

Official-Fix

Confirmed


Impact

Successful exploitation of the vulnerability could cause critical services on the affected device to fail, resulting in a DoS condition.

Software Versions and Fixes

When considering software upgrades, customers are advised to consult the Cisco Security Advisories, Responses, and Notices archive at http://www.cisco.com/go/psirt and review subsequent advisories to determine exposure and a complete upgrade solution.

In all cases, customers should ensure that the devices to be upgraded contain sufficient memory and confirm that current hardware and software configurations will continue to be supported properly by the new release. If the information is not clear, customers are advised to contact the Cisco Technical Assistance Center (TAC) or their contracted maintenance providers.

This vulnerability is fixed in Cisco IOS XR Software version 4.3.2 and later.  For devices running Cisco IOS XR Software version 4.3.1, the following SMUs are available:

Cisco IOS XR Platform 
SMU ID
SMU Name
XR12000 AA07643
c12k-4.3.1.CSCue69413
ASR9K-PX
AA07645
asr9k-px-4.3.1.CSCue69413
CRS-PX AA07647
hfr-px-4.3.1.CSCue69413

Workarounds

Infrastructure Access Control Lists and Unicast Reverse Path Forwarding

Warning: Because this vulnerability is exploited via UDP transport, it is possible to spoof the sender's IP address, which may defeat ACLs that permit communication to these ports from trusted IP addresses.  In addition to ACLs, administrators should enable uRPF, a security feature of Cisco IOS Software that verifies the reachability of the source address in packets being forwarded. The combination of these two technologies offers a stronger mitigation than iACLs alone.

Although it is often difficult to block traffic that transits a network, it is possible to identify traffic that should never be allowed to target infrastructure devices and block that traffic at the border of networks. Infrastructure ACLs (iACLs) are 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 iACL example below shows how to identify listening UDP services on the device and an appropriate iACL which should be included as part of the deployed infrastructure access-list.  This will help protect all devices with IP addresses in the infrastructure IP address range:

RP/0/0/CPU0:example#show udp brief
Tue Aug 27 08:57:56.255 PST
   PCB     VRF-ID     Recv-Q Send-Q  Local Address          Foreign Address
0x500f87c4 0x60000000      0      0  :::123                 :::0                  
0x500f9af8 0x00000000      0      0  :::123                 :::0                  
0x500fc28c 0x60000000      0      0  :::161                 :::0                  
0x500fc074 0x00000000      0      0  :::161                 :::0                  
0x500fc88c 0x60000000      0      0  :::162                 :::0                  
0x500fc5fc 0x00000000      0      0  :::162                 :::0                  
0x500f8404 0x60000000      0      0  0.0.0.0:514            0.0.0.0:0             
0x500fa4d8 0x60000000      0      0  0.0.0.0:123            0.0.0.0:0             
0x500fa338 0x00000000      0      0  0.0.0.0:123            0.0.0.0:0             
0x500fce3c 0x60000000      0      0  0.0.0.0:646            0.0.0.0:0             
0x500f9c98 0x60000000      0      0  0.0.0.0:161            0.0.0.0:0             
0x500fb360 0x00000000      0      0  0.0.0.0:161            0.0.0.0:0             
0x500fbbbc 0x60000000      0      0  0.0.0.0:162            0.0.0.0:0             
0x500fa184 0x00000000      0      0  0.0.0.0:162            0.0.0.0:0             
0x500f8f10 0x00000000      0      0  0.0.0.0:0              0.0.0.0:0     
RP/0/0/CPU0:example#
RP/0/0/CPU0:example#configure term
ipv4 access-list ACL-INFRASTRUCTURE-IN
 !
 ! Permit trusted sources to the local IP infrastructure address space
 !
  10 permit udp host "trusted-ntp-peer" host "local-ip-address" eq 123
  20 permit udp host "trusted-snmp-peer" host "local-ip-address" range 161 162
  30 permit udp host "trusted-syslog-server" any eq 514
  40 permit udp host "trusted-ldp-peer" any eq 646
  !
  ! Deny all other IP traffic to any network device
  !
  50 Deny ipv4 any "infrastructure-address-space" "mask"
  ! Permit transit traffic
  !
  60 permit ipv4 any any
After the ACL is created, it must be applied to all interfaces that face non infrastructure devices, including interfaces that connect to other organizations, remote access segments, user segments, and segments in data centers.

The white paper entitled Cisco Guide to Harden Cisco IOS XR Devices, presents guidelines and recommended deployment techniques for infrastructure protection access lists.

Identification and Recovery

If an administrator suspects a device is being exploited, the following these steps will assist in recovery:
  1. Determine whether the packet memory is consumed by UDP process by using the show packet-memory summary command:
  2.       RP/0/0/CPU0:example#show packet-memory summary
          Wed Aug 28 07:53:21.667 PST 
    ProcId JobId Count Percentage Process 739020993 405 17992 100.00% pkg/bin/udp RP/0/0/CPU0:example#
  3. Try to identify the incoming traffic input interface using the show packet-memory inuse command.
  4. The following example identifies the incoming interface as FastEthernet 0/1/0/4
    (Match UDP process Job Id number and looking for high interface counts):
    RP/0/0/CPU0:example#show packet-memory inuse
    Wed Aug 28 07:58:16.556 PST
    Display inuse packets:

    Pakhandle   Job Id Ifinput      Ifoutput     dll/pc      
    0xe3127e68  57     NULLIFHNDL   NULLIFHNDL   0x00000000
    0xe3128030  405    FastEthernet0/1/0/4NULLIFHNDL   0x4d612904
    0xe31283c0  57     NULLIFHNDL   NULLIFHNDL   0x00000000
    0xe3128588  57     NULLIFHNDL   NULLIFHNDL   0x00000000
    0xe3128750  405    FastEthernet0/1/0/4NULLIFHNDL   0x4d612904
    0xe3128918  57     NULLIFHNDL   NULLIFHNDL   0x00000000
    0xe3129200  405    FastEthernet0/1/0/4NULLIFHNDL   0x4d612904
    0xe3129590  405    FastEthernet0/1/0/4NULLIFHNDL   0x4d612904
    0xe3129ae8  405    FastEthernet0/1/0/4NULLIFHNDL   0x4d612904
    0xe3129cb0  57     NULLIFHNDL   NULLIFHNDL   0x00000000
    0xe3129e78  57     NULLIFHNDL   NULLIFHNDL   0x00000000
    0xe312a598  405    FastEthernet0/1/0/4NULLIFHNDL   0x4d612904
    0xe312a760  57     NULLIFHNDL   NULLIFHNDL   0x00000000
    0xe312aaf0  57     NULLIFHNDL   NULLIFHNDL   0x00000000
    0xe312acb8  405    FastEthernet0/1/0/4NULLIFHNDL   0x4d612904
    0xe312ae80  57     NULLIFHNDL   NULLIFHNDL   0x00000000
    0xe312b5a0  405    FastEthernet0/1/0/4NULLIFHNDL   0x4d612904
    0xe312b930  405    FastEthernet0/1/0/4NULLIFHNDL   0x4d612904
    0xe312c3e0  405    FastEthernet0/1/0/4NULLIFHNDL   0x4d612904
    0xe312c5a8  405    FastEthernet0/1/0/4NULLIFHNDL   0x4d612904
     --More-- 
    <output truncated>
  5. The quickest way to stablize the router would be to shut down the incoming interface where the attack is sourced.  

  6. Restart the UDP process:
  7. RP/0/0/CPU0:example#admin
    Wed Aug 28 08:41:20.435 PST
    RP/0/0/CPU0:example(admin)#process restart 405
  8. Apply the appropriate SMU or upgrade the device to Cisco IOS XR version 4.3.2 or later.
Additional mitigations that can be deployed on Cisco devices in the network are available in the Cisco Applied Intelligence companion document for this advisory: http://tools.cisco.com/security/center/viewAMBAlert.x?alertId=30921

Obtaining Fixed Software

Cisco has released free software updates that address the vulnerability described in this advisory. Prior to deploying software, customers are advised to consult their maintenance providers or check the software for feature set compatibility and known issues that are specific to their environments.

Customers may only install and expect support for feature sets they have purchased. By installing, downloading, accessing, or otherwise using such software upgrades, customers agree to follow the terms of the Cisco software license at http://www.cisco.com/en/US/docs/general/warranty/English/EU1KEN_.html.

Customers with Service Contracts

Customers with contracts should obtain upgraded software through their regular update channels. For most customers, upgrades should be obtained through the Software Navigator on Cisco.com at http://www.cisco.com/cisco/software/navigator.html.

Customers using Third Party Support Organizations

Customers with Cisco products that are provided or maintained through prior or existing agreements with third-party support organizations, such as Cisco Partners, authorized resellers, or service providers, should contact that organization for assistance with the appropriate course of action.

The effectiveness of any workaround or fix depends on specific customer situations, such as product mix, network topology, traffic behavior, and organizational mission. Because of the variety of affected products and releases, customers should consult their service providers or support organizations to ensure that any applied workaround or fix is the most appropriate in the intended network before it is deployed.

Customers without Service Contracts

Customers who purchase directly from Cisco but do not hold a Cisco service contract and customers who make purchases through third-party vendors but are unsuccessful in obtaining fixed software through their point of sale should obtain 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

Customers should have the product serial number available and be prepared to provide the URL of this advisory as evidence of entitlement to a free upgrade. Customers without service contracts should request free upgrades through the TAC.

Refer to Cisco Worldwide Contacts at http://www.cisco.com/en/US/support/tsd_cisco_worldwide_contacts.html for additional TAC contact information, including localized telephone numbers, instructions, and e-mail addresses for support in various languages.

Exploitation and Public Announcements

The Cisco Product Security Incident Response Team (PSIRT) is not aware of any public announcements or malicious use of the vulnerability that is described in this advisory.

This vulnerability was discovered during internal security testing.

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 advisory is posted on Cisco Security Intelligence Operations at the following link:

http://tools.cisco.com/security/center/content/CiscoSecurityAdvisory/cisco-sa-20131002-iosxr

Additionally, a text version of this advisory is clear signed with the Cisco PSIRT PGP key and circulated among the following e-mail addresses:

  • cust-security-announce@cisco.com
  • first-bulletins@lists.first.org
  • bugtraq@securityfocus.com
  • vulnwatch@vulnwatch.org
  • cisco@spot.colorado.edu
  • cisco-nsp@puck.nether.net
  • full-disclosure@lists.grok.org.uk

Future updates of this advisory, if any, will reside on Cisco.com but may not be announced on mailing lists. Users can monitor this advisory's URL for any updates.


Revision History

Revision 1.0 2013-October-02 Initial public release

Cisco Security Procedures

Complete information about reporting security vulnerabilities in Cisco products, obtaining assistance with security incidents, and registering to receive security information from Cisco is available on Cisco.com at http://www.cisco.com/web/about/security/psirt/security_vulnerability_policy.html. This web page includes instructions for press inquiries regarding Cisco Security Advisories. All Cisco Security Advisories are available at http://www.cisco.com/go/psirt.