Cisco Security Advisory: Cisco IOS Malformed OSPF Packet Causes Reload
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Cisco Security Advisory: Cisco IOS Malformed OSPF Packet Causes Reload
Revision 1.0
For Public Release 2004 August 18 15:00 UTC (GMT)
- ----------------------------------------------------------------------------
Contents
Summary
Affected Products
Details
Impact
Software Versions and Fixes
Obtaining Fixed Software
Workarounds
Exploitation and Public Announcements
Status of This Notice: FINAL
Distribution
Revision History
Cisco Security Procedures
- ----------------------------------------------------------------------------
Summary
=======
A Cisco device running Internetwork Operating System (IOS) and enabled for
the Open Shortest Path First (OSPF) protocol is vulnerable to a Denial of
Service (DoS) attack from a malformed OSPF packet. The OSPF protocol is not
enabled by default.
The vulnerability is only present in Cisco IOS release trains based on 12.0S,
12.2, and 12.3. Releases based on 12.0, 12.1 mainlines, and all Cisco IOS
images prior to 12.0 are not affected.
Cisco has made free software available to address this vulnerability.
There are workarounds available to mitigate the effects.
This advisory is available at
http://www.cisco.com/warp/public/707/cisco-sa-20040818-ospf.shtml.
Affected Products
=================
Vulnerable Products
This vulnerability was introduced by a code change that was committed to the
12.0S, 12.2, and 12.3 based release trains, causing these trains to be
vulnerable. All Cisco devices running a vulnerable release train and running
OSPF process are vulnerable.
Some release trains that are not vulnerable are explicitly listed below for
clarification. The release trains that are not mentioned below are not
vulnerable.
+---------------------------------------------+
| Release Train | Vulnerable |
| | Versions |
|-------------------------------+-------------|
| 10.x based releases | Not |
| | vulnerable |
|-------------------------------+-------------|
| 11.x based releases | Not |
| | vulnerable |
|-------------------------------+-------------|
| 12.0 based releases (except | Not |
| for 12.0.S based releases) | vulnerable |
|-------------------------------+-------------|
| 12.1 based releases | Not |
| | vulnerable |
|-------------------------------+-------------|
| 12.0.S | 12.0(22)S |
| | and later |
|-------------------------------+-------------|
| 12.0.SX | 12.0(23)SX |
| | and later |
|-------------------------------+-------------|
| 12.0.SY | 12.0(22)SY |
| | and later |
|-------------------------------+-------------|
| 12.0.SZ | 12.0(23)SZ |
| | and later |
|-------------------------------+-------------|
| 12.2 mainline | Not |
| | vulnerable |
|-------------------------------+-------------|
| 12.2.B | 12.2(15)B |
| | and later |
|-------------------------------+-------------|
| 12.2.BC | 12.2(15)BC |
| | and later |
|-------------------------------+-------------|
| 12.2.BX | 12.2(15)BX |
| | and later |
|-------------------------------+-------------|
| 12.2.BZ | 12.2(15)BZ |
| | and later |
|-------------------------------+-------------|
| 12.2.CX | 12.2(15)CX |
| | and later |
|-------------------------------+-------------|
| 12.2.EW | 12.2(18)EW |
| | and later |
|-------------------------------+-------------|
| 12.2.MC | 12.2(15)MC1 |
| | and later |
|-------------------------------+-------------|
| 12.2.S | 12.2(18)S |
| | and later |
|-------------------------------+-------------|
| 12.2.SE | 12.2(18)SE |
| | and later |
|-------------------------------+-------------|
| 12.2.SV | 12.2(18)SV |
| | and later |
|-------------------------------+-------------|
| 12.2.SW | 12.2(18)SW |
| | and later |
|-------------------------------+-------------|
| 12.2.SZ | 12.2(14)SZ |
| | and later |
|-------------------------------+-------------|
| 12.2.T | 12.2(15)T |
| | and later |
|-------------------------------+-------------|
| 12.2.YU | 12.2(11)YU |
| | and later |
|-------------------------------+-------------|
| 12.2.YV | 12.2(11)YV |
| | and later |
|-------------------------------+-------------|
| 12.2.ZD | 12.2(13)ZD |
| | and later |
|-------------------------------+-------------|
| 12.2.ZE | 12.2(13)ZE |
| | and later |
|-------------------------------+-------------|
| 12.2.ZF | 12.2(13)ZF |
| | and later |
|-------------------------------+-------------|
| 12.2.ZG | 12.2(13)ZG |
| | and later |
|-------------------------------+-------------|
| 12.2.ZH | 12.2(13)ZH |
| | and later |
|-------------------------------+-------------|
| 12.2.ZJ | 12.2(15)ZJ |
| | and later |
|-------------------------------+-------------|
| 12.2.ZK | 12.2(15)ZK |
| | and later |
|-------------------------------+-------------|
| 12.2.ZL | 12.2(15)ZL |
| | and later |
|-------------------------------+-------------|
| 12.2.ZN | 12.2(15)ZN |
| | and later |
|-------------------------------+-------------|
| 12.2.ZO | 12.2(15)ZO |
| | and later |
|-------------------------------+-------------|
| 12.3 | All 12.3 |
| | releases |
|-------------------------------+-------------|
| 12.3.B | All 12.3.B |
| | releases |
|-------------------------------+-------------|
| 12.3.BW | All 12.3.BW |
| | releases |
|-------------------------------+-------------|
| 12.3.T | All 12.3.T |
| | releases |
|-------------------------------+-------------|
| 12.3.XA | All 12.3.XA |
| | releases |
|-------------------------------+-------------|
| 12.3.XB | All 12.3.XB |
| | releases |
|-------------------------------+-------------|
| 12.3.XC | All 12.3.XC |
| | releases |
|-------------------------------+-------------|
| 12.3.XE | All 12.3.XE |
| | releases |
+---------------------------------------------+
A Cisco device which is running an OSPF process will have a line in the
configuration defining the process number, which can be seen by issuing the
command show running-config:
router ospf {process number}
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 Cisco 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 Cisco 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
Cisco IOS release 12.0(2a)T1 with an image name of C2600-JS-MZ:
Cisco Internetwork Operating System Software IOS (tm)
C2600 Software (C2600-JS-MZ), Version 12.0(2a)T1, RELEASE SOFTWARE (fc1)
Additional information about Cisco IOS release naming can be found at
http://www.cisco.com/warp/public/620/1.html.
Products Confirmed Not Vulnerable
* Products that are not running Cisco IOS are not affected.
* Products running Cisco IOS versions 12.0 and earlier (excluding 12.0 S),
12.1 mainline and 12.2 mainline are not vulnerable.
* Products running IOS release trains that are not mentioned in the above
table are not vulnerable.
* Products running any version of Cisco IOS that do not have OSPF configured
are not vulnerable.
Details
=======
OSPF is a routing protocol defined by RFC 2328. It is designed to manage IP
routing inside an Autonomous System (AS). OSPF packets use IP protocol number
89.
A vulnerability exists in the processing of an OSPF packet that can be
exploited to cause the reload of a system. Several parameters need to be known
by an attacker to successfully exploit this vulnerability. These are the OSPF
area number, netmask, hello, and dead timers that are configured on the
targeted interface.
Since OSPF needs to process unicast packets as well as multicast packets, this
vulnerability can be exploited remotely. It is also possible for an attacker to
target multiple systems on the local segment at a time.
Using OSPF Authentication as described in the workarounds section can be used
to mitigate the effects of this vulnerability. Using OSPF Authentication is a
highly recommended security best practice
A Cisco device receiving a malformed OSPF packet will reset and may take
several minutes to become fully functional. This vulnerability may be exploited
repeatedly resulting in an extended DOS attack. This issue is documented in bug
ID CSCec16481.
Impact
======
Successful exploitation of this vulnerability results in a reload of the
device. Repeated exploitation could result in a sustained DoS attack.
Software Versions and Fixes
===========================
+--------------------------------------------------+
| Major | Availability of Repaired Releases* |
| Release | |
|------------+-------------------------------------|
| Affected | | | |
| 12.0-Based | Rebuild | Interim** | Maintenance |
| Release | | | |
|------------+-----------+-----------+-------------|
| | 12.0(22) | | |
| |S6 | |-------------|
| | | | |
| |-----------| |-------------|
| | 12.0(23) | | |
| | S5 | | |
| |-----------+-----------+-------------|
| | 12.0(24) | | |
| | S2c | | |
| |-----------+-----------+-------------|
| 12.0(22)S | 12.0(24) | | |
| and later | S4 | | |
| |-----------+-----------+-------------|
| | 12.0(25) | | |
| | S1d | | |
| |-----------+-----------+-------------|
| | 12.0(25) | | |
| | S2 | | |
| |-----------+-----------+-------------|
| | 12.0(26) | | |
| |S1 |-----------|12.0(27)S |
| | | | |
|------------+-----------+-----------+-------------|
| 12.0(23)SX | 12.0(25) | | |
| and later | SX2 | | |
|------------+-----------+-----------+-------------|
| | Migrate | | |
| 12.0(22)SY | to 12.0 | | |
| and later | (23)S5 or | | |
| | later | | |
|------------+-----------+-----------+-------------|
| 12.0(23)SZ | | | 12.0(27)SZ |
| and later | | | |
|------------+-----------+-----------+-------------|
| Affected | | | |
| 12.2-Based | Rebuild | Interim** | Maintenance |
| Release | | | |
|------------+-----------+-----------+-------------|
| | Migrate | | |
| 12.2(15)B | to 12.3 | | |
| and later | (4)T or | | |
| | later | | |
|------------+-----------+-----------+-------------|
| | 12.2(15) | | |
| 12.2(15)BC | BC1c | | |
|and later |-----------| | |
| | 12.2(15) | | |
| | BC2 | | |
|------------+-----------+-----------+-------------|
| | 12.2(16) | | |
| | BX | | |
| 12.2(15)BX | Migrate | | |
| and later | to 12.3 | | |
| | (7)XI1 or | | |
| | later | | |
|------------+-----------+-----------+-------------|
| | Migrate | | |
| 12.2(15)BZ | to 12.3 | | |
| and later | (7)XI1 or | | |
| | later | | |
|------------+-----------+-----------+-------------|
| | Migrate | | |
| 12.2(15)CX | to 12.2 | | |
| and later | (15)BC2 | | |
| | or later | | |
|------------+-----------+-----------+-------------|
| 12.2(18)EW | 12.2(18) | | |
| | EW1 | | |
|------------+-----------+-----------+-------------|
| | 12.2(15) | | |
| 12.2(15) | MC2a | | |
| MC1 and | available | | |
| later | upon | | |
| | request | | |
|------------+-----------+-----------+-------------|
| 12.2(18)S | 12.2(18) | | 12.2(20)S |
| and later | S5 | | |
|------------+-----------+-----------+-------------|
| 12.2(18)SE | | | 12.2(20)SE |
| and later | | | |
|------------+-----------+-----------+-------------|
| 12.2(18)SV | | | 12.2(22)SV |
| and later | | | |
|------------+-----------+-----------+-------------|
| 12.2(18)SW | | | 12.2(20)SW |
| and later | | | |
|------------+-----------+-----------+-------------|
| | Migrate | | |
| 12.2(14)SZ | to 12.2 | | |
| and later | (20)S4 or | | |
| | later | | |
|------------+-----------+-----------+-------------|
| 12.2(15)T | 12.2(15) | | |
| and later | T8 | | |
|------------+-----------+-----------+-------------|
| | Migrate | | |
| 12.2(11)YU | to 12.3 | | |
| and later | (4)T or | | |
| | later | | |
|------------+-----------+-----------+-------------|
| | Migrate | | |
| 12.2(11)YV | to 12.3 | | |
| and later | (4)T or | | |
| | later | | |
|------------+-----------+-----------+-------------|
| 12.2(13)ZD | Migrate | | |
| and later | to 12.3T | | |
| | or later | | |
|------------+-----------+-----------+-------------|
| 12.2(13)ZE | Migrate | | |
| and later | to 12.3 | | |
| | or later | | |
|------------+-----------+-----------+-------------|
| | Migrate | | |
| 12.2(13)ZF | to 12.3 | | |
| and later | (4)T or | | |
| | later | | |
|------------+-----------+-----------+-------------|
| | Migrate | | |
| 12.2(13)ZG | to 12.3 | | |
| and later | (4)T or | | |
| | later | | |
|------------+-----------+-----------+-------------|
| | Migrate | | |
| 12.2(13)ZH | to 12.3 | | |
| and later | (4)T or | | |
| | later | | |
|------------+-----------+-----------+-------------|
| 12.2(15)ZJ | Migrate | | |
| and later | to 12.3T | | |
| | or later | | |
|------------+-----------+-----------+-------------|
| 12.2(15)ZK | 12.2(15) | | |
| and later | ZK2 | | |
|------------+-----------+-----------+-------------|
| | Migrate | | |
| 12.2(15)ZL | to 12.3 | | |
| and later | (7)T or | | |
| | later | | |
|------------+-----------+-----------+-------------|
| | Migrate | | |
| 12.2(15)ZN | to 12.3 | | |
| and later | (2)T4 or | | |
| | later | | |
|------------+-----------+-----------+-------------|
| | Migrate | | |
| 12.2(15)ZO | to 12.2 | | |
| and later | (15)T8 or | | |
| | later | | |
|------------+-----------+-----------+-------------|
| Affected | | | |
| 12.3-Based | Rebuild | Interim** | Maintenance |
| Release | | | |
|------------+-----------+-----------+-------------|
| 12.3 | 12.3(3f) | | 12.3(5) |
|------------+-----------+-----------+-------------|
| 12.3B | 12.3(5a)B | | |
|------------+-----------+-----------+-------------|
| | Migrate | | |
| 12.3BW | to 12.3B | | |
| | or later | | |
|------------+-----------+-----------+-------------|
| 12.3T | 12.3(2)T4 | | 12.3(4)T |
|------------+-----------+-----------+-------------|
| | Migrate | | |
| 12.3XA | to 12.3 | | |
| | (7)T or | | |
| | later | | |
|------------+-----------+-----------+-------------|
| 12.3XB | 12.3(2) | | |
| | XB3 | | |
|------------+-----------+-----------+-------------|
| | Migrate | | |
| 12.3XC | to 12.3 | | |
| | (8)T or | | |
| | later | | |
|------------+-----------+-----------+-------------|
| | Migrate | | |
| 12.3XE | to 12.3 | | |
| | (8)T or | | |
| | later | | |
+--------------------------------------------------+
Obtaining Fixed Software
========================
Customers with Service Contracts
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 website at
http://www.cisco.com.
Customers using Third-party Support Organizations
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 without Service Contracts
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@xxxxxxxxx
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@xxxxxxxxx" or "security-alert@xxxxxxxxx"
for software upgrades.
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.
There are multiple workarounds available to mitigate the effects of this
vulnerability.
Using OSPF Authentication
OSPF authentication may be used as a workaround. OSPF packets without a valid
key will not be processed. MD5 authentication is highly recommended, due to
inherent weaknesses in plain text authentication. With plain text
authentication, the authentication key will be sent unencrypted over the
network, which can allow an attacker on a local network segment to capture the
key by sniffing packets.
Refer to http://www.cisco.com/warp/public/104/25.shtml for more information
about OSPF authentication.
Infrastructure Access Control Lists
Although it is often difficult to block traffic transiting your network, it is
possible to identify traffic which should never be allowed to target your
infrastructure devices and block that traffic at the border of your network.
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 white paper "Protecting Your
Core: Infrastructure Protection Access Control Lists" presents guidelines and
recommended deployment techniques for infrastructure protection ACLs:
http://www.cisco.com/warp/public/707/iacl.html.
Exploitation and Public Announcements
=====================================
The Cisco PSIRT is not aware of any public announcements or malicious use of
the vulnerability described in this advisory.
Status of This Notice: FINAL
============================
THIS ADVISORY IS PROVIDED ON AN "AS IS" BASIS AND DOES NOT IMPLY ANY KIND OF
GUARANTEE OR WARRANTY. YOUR USE OF THE INFORMATION ON THE ADVISORY OR MATERIALS
LINKED FROM THE ADVISORY IS AT YOUR OWN RISK. CISCO RESERVES THE RIGHT TO
CHANGE OR UPDATE THIS NOTICE AT ANY TIME.
Distribution
============
This advisory will be posted on Cisco's worldwide website at
http://www.cisco.com/warp/public/707/cisco-sa-20040818-ospf.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@xxxxxxxxx
* first-teams@xxxxxxxxx (includes CERT/CC)
* bugtraq@xxxxxxxxxxxxxxxxx
* vulnwatch@xxxxxxxxxxxxx
* cisco@xxxxxxxxxxxxxxxxx
* cisco-nsp@xxxxxxxxxxxxxxx
* full-disclosure@xxxxxxxxxxxxxxxx
* comp.dcom.sys.cisco@xxxxxxxxxxxxxxxxxx
Future updates of this advisory, if any, will be placed on Cisco's worldwide
website, but may or may not be actively announced on mailing lists or
newsgroups. Users concerned about this problem are encouraged to check the
above URL for any updates.
Revision History
================
+---------------------------------------------+
| Revision | 2004-August-18 | Initial public |
| 1.0 | | 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 website 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.
- ----------------------------------------------------------------------------
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.5 (GNU/Linux)
iD8DBQFBI2heezGozzK2tZARApWuAJ9hmienPQRYULzhMITiWgDd3qOGggCfflUY
mTLgN7sQ7dF2G0THEwF6B4s=
=zZm1
-----END PGP SIGNATURE-----