|
|
|
|
| |
Multiple voice-related vulnerabilities are identified in Cisco IOS software, one of which is also shared with Cisco Unified Communications Manager. These vulnerabilities pertain to the following protocols or features:
* Session Initiation Protocol (SIP)
* Media Gateway Control Protocol (MGCP)
* Signaling protocols H.323, H.254
* Real-time Transport Protocol (RTP)
* Facsimile reception
Cisco has made free software available to address these vulnerabilities for affected customers. Fixed Cisco IOS software listed in the Software Versions and Fixes section contains fixes for all vulnerabilities mentioned in this advisory.
There are no workarounds available to mitigate the effects of any of the vulnerabilities apart from disabling the protocol or feature itself. |
| |
Credit:
The information has been provided by Cisco Systems Product Security Incident Response Team.
The original article can be found at: http://www.cisco.com/warp/public/707/cisco-sa-20070808-IOS-voice.shtml
|
| |
Affected Products:
These vulnerabilities only affect devices running Cisco IOS that have voice services enabled. The only exception is the vulnerability documented as Cisco bug ID CSCsi80102 ( registered customers only) , which also exists on Cisco Unified Communications Manager.
Vulnerable Products
To determine the software running on a Cisco IOS product, log in to the device and issue the show version command to display the system banner. Cisco IOS software will identify itself as "Internetwork Operating System Software" or simply "IOS." On the next line of output, the image name will be displayed between parentheses, followed by "Version" and the Cisco IOS release name. Other Cisco devices will not have the show version command, or will give different output.
The following example shows output from a device running an IOS image:
Router>show version
Cisco IOS Software, 7200 Software (C7200-IK9S-M), Version 12.3(14)T1, RELEASE SOFTWARE (fc1)
Technical Support: http://www.cisco.com/techsupport
Copyright (c) 1986-2005 by Cisco Systems, Inc.
Compiled Thu 31-Mar-05 08:04 by yiyan
Additional information about Cisco IOS release naming is available at the following link: http://www.cisco.com/en/US/products/sw/iosswrel/ps1828/products_white_paper09186a008018305e.shtml.
SIP-related vulnerabilities
Any Cisco device that runs a vulnerable version of IOS and supports SIP processing could be vulnerable. This includes IOS versions 12.3(4)XH, 12.3(4)XQ, 12.3(7)XR, 12.3(7)XS, 12.3(8)JA, 12.3(8)T, 12.3(8)XU, 12.3(8)XW, 12.3(8)XX, 12.3(8)XY, 12.3(8)YA, 12.3(8)YG, 12.3(8)YH, 12.3(8)YI, 12.3(8)ZA, 12.4 Mainline and 12.4T onward. Routers that are configured as SIP Public Switched Telephone Network (PSTN) Gateways and SIP Session Border Controllers (SBCs) are vulnerable. The CAT6000-CMM card is also vulnerable.
To determine if the device has SIP enabled, enter the commands show ip sockets and show tcp brief all. In some newer IOS releases the command show ip sockets is removed. If that is the case use show udp. The output is identical to the show ip sockets command.
Router#show ip sockets
Proto Remote Port Local Port In Out Stat TTY OutputIF
17 0.0.0.0 0 --any-- 5060 0 0 211 0
17 0.0.0.0 0 192.168.100.2 67 0 0 2211 0
17 0.0.0.0 0 192.168.100.2 2517 0 0 11 0
The first line with UDP Port 5060 shows that UDP SIP is enabled.
Router#show tcp brief all
TCB Local Address Foreign Address (state)
2051E680 *.5060 *.* LISTEN
The above lines with *.5060 show that TCP SIP is enabled.
The device is vulnerable even if it does not have SIP explicitly configured. If the output of the show ip sockets command is showing that the device is listening to port 5060, then the device is vulnerable.
MGCP-related vulnerabilities
To determine whether MGCP is configured on an IOS device, look for either of the following lines in in the Cisco IOS configuration:
Router#show running config
....
voice-port 1/1/1
!
mgcp
!
dial-peer voice 1 pots
service mgcpapp
port 1/1/1
or
Router#show running config
....
controller T1 1/1
framing sf
linecode ami
pri-group timeslots 1-24 service mgcp
or
Router#show running config
....
controller T1 1/1
framing sf
linecode ami
ds0-group 0 timeslots 1-24 type none service mgcp
The exact port numbers may vary in the configuration.
H.323 signaling-related vulnerabilities
To determine whether H.323 is configured on an IOS device, look for either of the following lines in the Cisco IOS configuration.
For Cisco bug ID CSCsi60004 ( registered customers only) this configuration is vulnerable:
Router#show running config | include proxy
proxy h323
For Cisco bug ID CSCsg70474 ( registered customers only) this configuration is vulnerable:
Router#show running config | include inspect
ip inspect name H323_protocol h323
ip inspect H323_protocol in
Real-time Transport Protocol-related vulnerabilities
No particular configuration is required to enable RTP because this protocol is invoked when audio or video information is transmitted. H.323, MGCP, SIP, or H.320 protocols must be processing packets for a router to process RTP packets.
Note: These vulnerabilities only affect sessions terminating or originating on a device itself, not transit traffic; for example, traffic that passes through a device, but is destined elsewhere is not affected.
Facsimile reception vulnerability
The IOS device will listen to incoming facsimile transmission by default if the Digital Signal Processor (DSP) is present. To determine the presence of DSP on a device, execute the following command:
Note: This vulnerability only affects sessions terminating or originating on a device itself, not transit traffic; for example, traffic that passes through a device, but is destined elsewhere is not affected.
Router#show voice dsp
DSP DSP DSPWARE CURR BOOT PAK TX/RX
TYPE NUM CH CODEC VERSION STATE STATE RST AI VOICEPORT TS ABORT PACK COUNT
==== === == ======== ======= ===== ======= === == ========= == ===== ============
C542 001 01 None 7.4.1 IDLE idle 0 0 1/1/0 NA 0 598/607
C542 002 01 None 7.4.1 IDLE idle 0 0 1/1/1 NA 0 591/588
The above example shows that DSP is present on the device.
Products Confirmed Not Vulnerable
No other Cisco products are currently known to be affected by these vulnerabilities. The following devices are known not to be affected:
* Cisco Unified Communications Manager (with the exception of CSCsi80102 ( registered customers only) )
* Cisco IP Phone
Details
Details for vulnerabilities are grouped by category and impact.
SIP-related vulnerabilities
SIP is a protocol that is used to establish, modify, and terminate multimedia sessions. Most commonly, SIP is used for Internet telephony. SIP call signaling can use UDP (User Datagram Protocol) or TCP (Transport Control Protocol) as an underlying transport protocol. In all cases vulnerabilities can be triggered by processing a malformed SIP packet.
A malformed SIP packet may cause a vulnerable device to crash and may allow arbitrary code to be executed. These vulnerabilities are documented as the following Cisco Bug IDs:
* CSCsi80749 Crash while processing malformed SIP packet ( registered customers only)
* CSCsi80102 CUCM - Crash while processing malformed SIP packet ( registered customers only)
A malformed SIP packet may cause a memory leak and device crash. These vulnerabilities are documented as the following Cisco Bug IDs:
* CSCsf11855 Crash while processing malformed SIP packet ( registered customers only)
* CSCeb21064 Crash while processing malformed SIP packet ( registered customers only)
* CSCse40276 Router crashed by malformed SIP message ( registered customers only)
* CSCse68355 Router crashed by malformed SIP packet ( registered customers only)
* CSCsf30058 Memory leak when processing malformed SIP message ( registered customers only)
* CSCsb24007 Memory corruption and unexpected reload on receiving a SIP packet ( registered customers only)
* CSCsc60249 Crash while processing malformed SIP packet ( registered customers only)
MGCP-related vulnerabilities
MGCP is a protocol for controlling media gateways from external call control elements such as Media Gateway Controllers or Call Agents. A media gateway is typically a network element that provides conversion between the audio signals carried on telephone circuits and data packets carried over the Internet or over other packet networks. In a Cisco environment, a media gateway is used between the Cisco Communications Manager and the Cisco router and servers as a voice gateway.
A specially crafted MGCP packet can cause a vulnerable device to crash or become unresponsive. The unresponsive device will not be able to establish new telephone calls, and a reboot is required to restore normal operation. These vulnerabilities are documented as the following Cisco Bug IDs:
* CSCsf08998 MGCP stop responding after receiving malformed packet ( registered customers only)
* CSCsd81407 Router crash on receiving abnormal MGCP messages ( registered customers only)
H.323-signaling related vulnerabilities
H.323 is an ITU (International Telecommunications Union) set of recommendations for multimedia communication and signaling in networks that use Internet Protocol.
A malformed H.323 packet can crash a vulnerable device. These vulnerabilities are documented as the following Cisco Bug IDs:
* CSCsi60004 H323 Proxy Unregistration from Gatekeeper ( registered customers only)
* CSCsg70474 IOS FW with h323 inspect crashes when malformed H.323 packets received ( registered customers only)
Real-time Transport Protocol-related vulnerabilities
RTP is a protocol that is designed to provide delivery services for data with real-time characteristics, such as interactive audio and video.
A malformed RTP packet can cause a vulnerable device to crash. These vulnerabilities are documented as the following Cisco Bug IDs:
* CSCse68138 Issue in handling specific packets in VOIP RTP Lib ( registered customers only)
* CSCse05642 I/O memory corruption crash on a router ( registered customers only)
Facsimile reception vulnerability
Reception of a large packet can cause a vulnerable device to crash. This vulnerability is documented as the following Cisco Bug ID:
* CSCej20505 Router hangs with overly large packet ( registered customers only)
Impact
The impacts associated with individual vulnerabilities are listed according to vulnerability type. If not specifically called out, all vulnerabilities within the same category have an identical impact.
SIP-related vulnerabilities
Successful exploitation of the vulnerabilities listed as Cisco Bug ID CSCsi80749 ( registered customers only) and CSCsi80102 ( registered customers only) can potentially lead to remote code execution.
Successful exploitation of other SIP-related vulnerabilities listed in this advisory can cause the affected device to crash. Repeated exploitation could result in a sustained denial of service (DoS) attack.
MGCP-related vulnerabilities
Successful exploitation of the vulnerability listed as Cisco Bug ID CSCsf08998 ( registered customers only) can cause the affected device to become unresponsive. The device will not be able to establish any new connections, and a reboot is required to restore normal functionality.
Successful exploitation of the vulnerability listed as Cisco Bug ID CSCsd81407 ( registered customers only) can cause the affected device to crash. Repeated exploitation could result in a sustained denial of service (DoS) attack.
H.323 Signaling-related vulnerabilities
Successful exploitation of the vulnerabilities listed in this advisory can cause the affected device to crash. Repeated exploitation could result in a sustained denial of service (DoS) attack.
Real-time Transport Protocol-related vulnerabilities
Successful exploitation of the vulnerabilities listed in this advisory can cause the affected device to crash. Repeated exploitation could result in a sustained denial of service (DoS) attack.
Facsimile reception vulnerability
Successful exploitation of the vulnerability listed in this advisory can cause the affected device to crash. Repeated exploitation could result in a sustained denial of service (DoS) attack.
Workarounds
None of the listed vulnerabilities have workarounds. Users are advised to apply mitigation techniques to limit exposure to the listed vulnerabilities. Mitigation consists of only allowing legitimate devices to connect to the routers. To increase effectiveness, the mitigation must be coupled with the application of anti-spoofing measures on the network edge. This action is required because all vulnerable voice protocols can use UDP as transport protocol.
None of the listed vulnerabilities can be mitigated on Cisco Unified Communications Manager. All mitigations must be done on adjacent devices.
Users are advised to disable affected protocols if not required for normal device operation. To prevent the router from processing SIP packets, the user must execute the following commands:
Router(config)#sip-ua
Router(config-sip-ua)#no transport udp
Router(config-sip-ua)#no transport tcp
Router(config-sip-ua)#end
Note: When applying this workaround to devices that are processing MGCP or H.323 calls, the device will not allow SIP processing to stop while active calls are being processed. As a result, the workaround should be implemented during a maintenance period when active calls can be stopped.
Infrastructure Access Control Lists (iACL)
Although difficult to block traffic from transiting the network, it is possible to identify traffic that should not target infrastructure devices and block such traffic at the network border. 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 that will protect all devices with IP addresses located within the infrastructure IP address range.
A sample access list for devices running Cisco IOS is below:
!-- Permit SIP, MGCP, H.323 and RTP services from trusted hosts destined
!-- to infrastructure addresses.
access-list 150 permit tcp TRUSTED_HOSTS MASK INFRASTRUCTURE_ADDRESSES MASK
eq 5060
access-list 150 permit tcp TRUSTED_HOSTS MASK INFRASTRUCTURE_ADDRESSES MASK
eq 5061
access-list 150 permit udp TRUSTED_HOSTS MASK INFRASTRUCTURE_ADDRESSES MASK
eq 5060
access-list 150 permit udp TRUSTED_HOSTS MASK INFRASTRUCTURE_ADDRESSES MASK
eq 5061
access-list 150 permit udp TRUSTED_HOSTS MASK INFRASTRUCTURE_ADDRESSES MASK
eq 2427
access-list 150 permit tcp TRUSTED_HOSTS MASK INFRASTRUCTURE_ADDRESSES MASK
eq 1720
access-list 150 permit tcp TRUSTED_HOSTS MASK INFRASTRUCTURE_ADDRESSES MASK
eq 11720
access-list 150 permit udp TRUSTED_HOSTS MASK INFRASTRUCTURE_ADDRESSES MASK
eq 2517
access-list 150 permit udp TRUSTED_HOSTS MASK INFRASTRUCTURE_ADDRESSES MASK
range 16384 32767
!-- Deny SIP, MGCP, H.323 and RTP packets from all other sources destined
!-- to infrastructure addresses.
access-list 150 deny tcp any INFRASTRUCTURE_ADDRESSES MASK eq 5060
access-list 150 deny tcp any INFRASTRUCTURE_ADDRESSES MASK eq 5061
access-list 150 deny udp any INFRASTRUCTURE_ADDRESSES MASK eq 5060
access-list 150 deny udp any INFRASTRUCTURE_ADDRESSES MASK eq 5061
access-list 150 deny udp any INFRASTRUCTURE_ADDRESSES MASK eq 2427
access-list 150 deny tcp any INFRASTRUCTURE_ADDRESSES MASK eq 1720
access-list 150 deny tcp any INFRASTRUCTURE_ADDRESSES MASK eq 11720
access-list 150 deny udp any INFRASTRUCTURE_ADDRESSES MASK eq 2517
access-list 150 deny udp any INFRASTRUCTURE_ADDRESSES MASK
range 16384 32767
!-- 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 at the following link: http://www.cisco.com/warp/public/707/iacl.html.
Control Plane Policing
Control Plane Policing (CoPP) can be used to block untrusted SIP (TCP and UDP ports 5060 and 5061), MGCP (UDP port 2427), H.323 (TCP ports 1720 and 11720 and UDP port 2517), and RTP (UDP ports 16384 to 32767) access to the device. Cisco IOS software releases 12.0S, 12.2SX, 12.2S, 12.3T, 12.4, and 12.4T support the CoPP feature. CoPP may be configured on a device to protect the management and control planes to minimize the risk and effectiveness of direct infrastructure attacks. CoPP protects the management and control planes by explicitly permitting only authorized traffic sent to infrastructure devices and in accordance with existing security policies and configurations. The following example, which uses 192.168.100.1 to represent a trusted host, can be adapted to the network:
!-- Deny SIP, MGCP, H.323 and RTP traffic from trusted hosts to all
!-- IP addresses configured on all interfaces of the affected device
!-- so that it will be allowed by the CoPP feature.
access-list 111 deny tcp host 192.168.100.1 any eq 5060
access-list 111 deny tcp host 192.168.100.1 any eq 5061
access-list 111 deny udp host 192.168.100.1 any eq 5060
access-list 111 deny udp host 192.168.100.1 any eq 5061
access-list 111 deny udp host 192.168.100.1 any eq 2427
access-list 111 deny tcp host 192.168.100.1 any eq 1720
access-list 111 deny tcp host 192.168.100.1 any eq 11720
access-list 111 deny udp host 192.168.100.1 any eq 2517
access-list 111 deny udp host 192.168.100.1 any range 16384 32767
!-- Permit all other SIP, MGCP, H.323 and RTP traffic sent to all
!-- IP addresses configured on all interfaces of the affected device
!-- so that it will be policed and dropped by the CoPP feature.
access-list 111 permit tcp any any eq 5060
access-list 111 permit tcp any any eq 5061
access-list 111 permit udp any any eq 5060
access-list 111 permit udp any any eq 5061
access-list 111 permit udp any any eq 2427
access-list 111 permit tcp any any eq 1720
access-list 111 permit tcp any any eq 11720
access-list 111 permit udp any any eq 2517
access-list 111 permit udp any any range 16384 32767
!-- Permit (Police or Drop)/Deny (Allow) all other Layer 3 and Layer 4
!-- traffic in accordance with existing security policies and
!-- configurations for traffic that is authorized to be sent
!-- to infrastructure devices.
!-- Create a Class-Map for traffic to be policed by
!-- the CoPP feature.
class-map match-all drop-voice-class
match access-group 111
!-- Create a Policy-Map that will be applied to the
!-- Control-Plane of the device.
policy-map drop-voice-traffic
class drop-voice-class
drop
!-- Apply the Policy-Map to the Control-Plane of the
!-- device.
control-plane
service-policy input drop-voice-traffic
In the above CoPP example, the access control list entries (ACEs) that match the potential exploit packets with the "permit" action result in the exploit packets being discarded by the policy-map "drop" function. Meanwhile, packets that match the "deny" action (not shown) are not affected by the policy-map drop function.
Please note that in the 12.2S and 12.0S Cisco IOS trains the policy-map syntax is different:
policy-map drop-voice-traffic
class drop-voice-class
police 32000 1500 1500 conform-action drop exceed-action drop
Additional information on the configuration and use of the CoPP feature can be found at http://www.cisco.com/en/US/products/ps6642/products_white_paper0900aecd804fa16a.shtml and http://www.cisco.com/en/US/products/sw/iosswrel/ps1838/products_feature_guide09186a008052446b.html.
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-20070808-IOS-voice.shtml
|
|
|
|
|
|
|
|
|
|