From: SecuriTeam <support@securiteam.com.>
To: [email protected]
Date: 23 Jan 2005 16:53:30 +0200
Subject: [NEWS] Vulnerability in Cisco IOS Embedded Call Processing Solutions
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Message-Id: <20050123162341.545D357B2@mail.tyumen.ru.>
X-Virus-Scanned: antivirus-gw at tyumen.ru
The following security advisory is sent to the securiteam mailing list, and can be found at the SecuriTeam web site: http://www.securiteam.com
- - promotion
The SecuriTeam alerts list - Free, Accurate, Independent.
Get your security news from a reliable source.
http://www.securiteam.com/mailinglist.html
- - - - - - - - -
Vulnerability in Cisco IOS Embedded Call Processing Solutions
------------------------------------------------------------------------
SUMMARY
Cisco Internetwork Operating System (IOS ) Software release trains 12.1YD,
12.2T, 12.3 and 12.3T, when configured for the Cisco IOS Telephony Service
(ITS), Cisco CallManager Express (CME) or Survivable Remote Site Telephony
(SRST) may contain a vulnerability in processing certain malformed control
protocol messages.
A successful exploitation of this vulnerability may cause a reload of the
device and could be exploited repeatedly to produce a Denial of Service
(DoS).
Cisco has made free software upgrades available to address this
vulnerability for all affected customers. There are workarounds available
to mitigate the effects of the vulnerability.
DETAILS
Vulnerable Products
This issue affects all Cisco devices running any unfixed version of Cisco
IOS code that supports, and is configured for ITS, CME or SRST.
A Cisco device running ITS or CME will have the following line in the
configuration:
telephony-service
A Cisco device running SRST will have the following line in the
configuration:
call-manager-fallback
To determine the software running on a Cisco 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 IOS release
name. Other Cisco devices will not have the show version command or will
give different output.
The following example identifies a Cisco product running IOS release
12.0(3) with an installed image name of C2500-IS-L:
Cisco Internetwork Operating System Software IOS (TM)
2500 Software (C2500-IS-L), Version 12.0(3), RELEASE SOFTWARE
The release train label is "12.0".
The next example shows a product running IOS release 12.3(6) with an image
name of C2600-JS-MZ:
Cisco Internetwork Operating System Software IOS (tm)
C2600 Software (C2600-JS-MZ), Version 12.3(6), RELEASE SOFTWARE (fc1)
Additional information about Cisco IOS release naming can be found at
<http://www.cisco.com/warp/public/620/1.html>
http://www.cisco.com/warp/public/620/1.html.
Products Confirmed Not Vulnerable:
ITS, CME and SRST are IOS-only features. Devices that do not run IOS are
not vulnerable.
Details:
More information about Cisco's IOS Telephony Service (ITS) and Cisco
CallManager Express (CME) can be found here:
<http://www.cisco.com/en/US/products/sw/voicesw/ps4625/index.html>
http://www.cisco.com/en/US/products/sw/voicesw/ps4625/index.html
More information on Cisco's Survivable Remote Site Telephony (SRST) can be
found here:
<http://www.cisco.com/en/US/products/sw/voicesw/ps2169/index.html>
http://www.cisco.com/en/US/products/sw/voicesw/ps2169/index.html
ITS, CME and SRST are features that allow a Cisco device running IOS to
control IP Phones using the Skinny Call Control Protocol (SCCP). SCCP is
the Cisco CallManager native signaling protocol.
Certain malformed packets sent to the SCCP port on an IOS device
configured for ITS, CME or SRST may cause the target device to reload.
This issue is documented in Cisco bug ID CSCee08584.
The following commands can be used to determine if ITS or CME are running.
A device that does not have ITS or CME enabled will display:
Router#show telephony-service
telephony-service is not enabled
A device that has ITS or CME enabled will show something similar to:
Router#show telephony-service
CONFIG (Version=3.0)
Cisco CallManager Express
ip source-address 192.168.1.1 port 2000
max-ephones 2
max-dn 2
max-conferences 8
max-redirect 5
time-format 12
date-format mm-dd-yy
keepalive 30
timeout interdigit 10
timeout busy 10
timeout ringing 180
edit DN through Web: disabled.
edit TIME through web: disabled.
Log (table parameters):
max-size: 150
retain-timer: 15
create cnf-files version-stamp Jan 01 2002 00:00:00
auto assign 1 to 2
local directory service: enabled.
The following commands can be used to determine if SRST is running. A
device that does not have SRST enabled will display:
Router#show call-manager-fallback
Call-manager fallback is not enabled
A device that has SRST enabled will show something similar to:
Router#show call-manager-fallback
CONFIG
======
ip source-address 192.168.1.1 port 2000
max-ephones 2
max-dn 4
huntstop
time-format 12
date-format mm-dd-yy
keepalive 30
interdigit timeout 10
busy timeout 10
Limit number of DNs per phone:
7910: 34
7935: 34
7940: 34
7960: 34
Spoofed attacks are impractical since the attacker must pass all of the
TCP/IP integrity checks first, including the initial sequence number and
source TCP port number.
Impact:
Successful exploitation of the vulnerability may result in a device
reload. Repeated exploitation could result in a Denial of Service (DoS)
attack.
Software Versions and Fixes
A list of vulnerable systems and their corresponding fixes can be found at
the following link:
<http://www.cisco.com/warp/public/707/cisco-sa-20050119-itscme.shtml#software> http://www.cisco.com/warp/public/707/cisco-sa-20050119-itscme.shtml#software
Workarounds
The effectiveness of any workaround 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 is the most appropriate for
use in the intended network before it is deployed.
Affected devices that must run ITS, CME or SRST are vulnerable, and there
are not any specific configurations that can be used to protect them.
Applying access lists on interfaces that should not accept ITS, CME or
SRST traffic and putting firewalls in strategic locations may greatly
reduce exposure until an upgrade can be performed.
The IP Telephony Security in Depth SAFE paper at the URL below discusses a
variety of best practices that should keep your voice network isolated
from the Internet. These best practices may help to reduce the risk of
exposure, although attacks from within the local network should always be
considered a potential risk.
<http://www.cisco.com/en/US/netsol/ns340/ns394/ns171/ns128/networking_solutions_white_paper09186a00801b7a50.shtml> SAFE: IP Telephony Security in Depth
Using 'strict-match'
It is possible to restrict SCCP communications to the IP specified in the
ip source-address configuration command by using the strict-match option.
More information on this command can be found at the following URL:
<http://www.cisco.com/en/US/netsol/ns340/ns394/ns165/ns391/networking_solutions_design_guidance09186a00801f8e30.html#wp40333> Cisco CallManager Express Security Guide to Best Practices
Using Access Lists
Where possible, it is recommended to block SCCP traffic at the network
edge with an Infrastructure Access Control List (iACL) or a Transit Access
Control List (tACL).
For more information on iACLs, refer to "Protecting Your Core:
Infrastructure Protecton Access Control Lists":
<http://www.cisco.com/warp/public/707/iacl.html>
http://www.cisco.com/warp/public/707/iacl.html
For more information on tACLs, refer to 'Transit Access Control Lists:
Filtering at Your Edge": <http://www.cisco.com/warp/public/707/tacl.html>
http://www.cisco.com/warp/public/707/tacl.html
Below is an example of an access list to block SCCP traffic from anywhere
but a permitted network.
Note: In SRST deployments the SCCP packets are not addressed directly to
the SRST device. The SCCP packets will be addressed to the call control
devices (typically Cisco CallManager).
In this example, the permitted telephony devices are on the 172.16.0.0/16
network and the SCCP port being used is the default, TCP port 2000. If the
specific IP addresses of the telephony devices are known, then the access
list can be made to restrict traffic from only those devices.
!--- Permit access from any IP address in the 172.16.0.0/16
!--- to TCP port 2000.
access-list 101 permit tcp 172.16.0.0 0.0.255.255 any eq 2000
!--- Deny all traffic to port 2000.
access-list 101 deny tcp any any eq 2000
!--- Permit all other traffic.
access-list 101 permit ip any any
Using Control Plane Policing
The Control Plane Policing (CoPP) feature may be used to mitigate this
vulnerability. In the following example SCCP traffic is permitted to and
from the 192.168.10.0/24 subnet. All other TCP port 2000 traffic destined
to the device is blocked.
access-list 140 deny tcp 192.168.10.0 0.0.0.255 any eq 2000
access-list 140 deny tcp any 192.168.10.0 0.0.0.255 eq 2000
access-list 140 permit tcp any any eq 2000
access-list 140 deny ip any any
class-map match-all sccp-class
match access-group 140
policy-map control-plane-policy
class sccp-class
police 8000 1500 1500 conform-action drop exceed-action drop
control-plane
service-policy input control-plane-policy
CoPP is available in IOS release trains 12.2S and 12.3T. 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/sw/iosswrel/ps1838/products_feature_guide09186a00801afad4.html> Control Plane Policing
ADDITIONAL INFORMATION
The information has been provided by <mailto:psirt@cisco.com.> Cisco
Systems Product Security Incident Response Team.
The original article can be found at:
<http://www.cisco.com/warp/public/707/cisco-sa-20050119-itscme.shtml>
http://www.cisco.com/warp/public/707/cisco-sa-20050119-itscme.shtml
This bulletin is sent to members of the SecuriTeam mailing list.
To unsubscribe from the list, send mail with an empty subject line and body to: [email protected]
In order to subscribe to the mailing list, simply forward this email to: [email protected]
DISCLAIMER:
The information in this bulletin is provided "AS IS" without warranty of any kind.
In no event shall we be liable for any damages whatsoever including direct, indirect, incidental, consequential, loss of business profits or special damages.