AV:N/AC:L/Au:N/C:N/I:N/A:C/E:F/RL:OF/RC:C
-
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 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
-
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#
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 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.
-
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
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#
-
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
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:
- Determine whether the packet memory is consumed by UDP process by using the show packet-memory summary command:
- Try to identify the incoming traffic input interface using the show packet-memory inuse command. The following example identifies the incoming interface as FastEthernet 0/1/0/4
- The quickest way to stablize the router would be to shut down the incoming interface where the attack is sourced.
- Restart the UDP process:
- Apply the appropriate SMU or upgrade the device to Cisco IOS XR version 4.3.2 or later.
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#
(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>
RP/0/0/CPU0:example#admin
Wed Aug 28 08:41:20.435 PST
RP/0/0/CPU0:example(admin)#process restart 405
-
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
-
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.
-
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.
-
Revision 1.0 2013-October-02 Initial public release
-
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.