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://tools.cisco.com/security/center/content/CiscoSecurityAdvisory/cisco-sa-20040818-ospf.
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://tools.cisco.com/security/center/content/CiscoSecurityAdvisory/cisco-sa-20040818-ospf.
This section provides details on affected 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 for 12.0.S based releases) |
Not 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.
These products are confirmed not vulnerable:
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.
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.
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.
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/en/US/tech/tk365/technologies_configuration_example09186a0080094069.shtml for more information about OSPF authentication.
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/en/US/tech/tk648/tk361/technologies_white_paper09186a00801a1a55.shtml.
Each row of the table describes a release train and the platforms or products for which it is intended. If a given release train is vulnerable, then the earliest possible releases that contain the fix and the anticipated date of availability for each are listed in the Rebuild, Interim, and Maintenance columns. In some cases, no rebuild of a particular release is planned; this is marked with the label "Not scheduled." A device running any release in the given train that is earlier than the release in a specific column (less than the earliest fixed release) is known to be vulnerable, and it should be upgraded at least to the indicated release or a later version (greater than the earliest fixed release label).
When selecting a release, keep in mind the following definitions:
In all cases, customers should exercise caution to be certain the devices to be upgraded contain sufficient memory and that current hardware and software configurations will continue to be supported properly by the new release. If the information is not clear, contact the Cisco TAC for assistance, as shown in the section following this table.
Major Release |
Availability of Repaired Releases |
||
---|---|---|---|
Affected 12.0-Based Release |
Rebuild |
Interim |
Maintenance |
12.0(22)S and later |
12.0(22)S6 |
||
12.0(23)S5 |
|||
12.0(24)S2c |
|||
12.0(24)S4 |
|||
12.0(25)S1d |
|||
12.0(25)S2 |
|||
12.0(26)S1 |
12.0(27)S |
||
12.0(23)SX and later |
12.0(25)SX2 |
||
12.0(22)SY and later |
Migrate to 12.0(23)S5 or later |
||
12.0(23)SZ and later |
12.0(27)SZ |
||
Affected 12.2-Based Release |
Rebuild |
Interim |
Maintenance |
12.2(15)B and later |
Migrate to 12.3(4)T or later |
||
12.2(15)BC and later |
12.2(15)BC1c |
||
12.2(15)BC2 |
|||
12.2(15)BX and later |
Migrate to 12.3(7)XI1 or later |
||
12.2(15)BZ and later |
Migrate to 12.3(7)XI1 or later |
||
12.2(15)CX and later |
Migrate to 12.2(15)BC2 or later |
||
12.2(18)EW |
12.2(18)EW1 |
12.2(20)EW |
|
12.2(15)MC1 and later |
12.2(15)MC2a available upon request |
||
12.2(18)S and later |
12.2(20)S 12.2(18)S5 |
||
12.2(18)SE and later |
12.2(20)SE |
||
12.2(18)SV and later |
12.2(22)SV |
||
12.2(18)SW and later |
12.2(20)SW |
||
12.2(14)SZ and later |
Migrate to 12.2(20)S4 or later |
||
12.2(15)T and later |
12.2(15)T8 |
||
12.2(11)YU and later |
Migrate to 12.3(4)T or later |
||
12.2(11)YV and later |
Migrate to 12.3(4)T or later |
||
12.2(13)ZD and later |
Migrate to 12.3T or later |
||
12.2(13)ZE and later |
Migrate to 12.3 or later |
||
12.2(13)ZF and later |
Migrate to 12.3(4)T or later |
||
12.2(13)ZG and later |
Migrate to 12.3(4)T or later |
||
12.2(13)ZH and later |
Migrate to 12.3(4)T or later |
||
12.2(15)ZJ and later |
Migrate to 12.3T or later |
||
12.2(15)ZK and later |
12.2(15)ZK2 |
||
12.2(15)ZL and later |
Migrate to 12.3(7)T or later |
||
12.2(15)ZN and later |
Migrate to 12.3(2)T4 or later |
||
12.2(15)ZO and later |
Migrate to 12.2(15)T8 or later |
||
Affected 12.3-Based Release |
Rebuild |
Interim |
Maintenance |
12.3 |
12.3(3f) |
12.3(5) |
|
12.3B |
12.3(5a)B |
||
12.3BW |
Migrate to 12.3B or later |
||
12.3T |
12.3(2)T4 |
12.3(4)T |
|
12.3XA |
Migrate to 12.3(7)T or later |
||
12.3XB |
12.3(2)XB3 |
||
12.3XC |
Migrate to 12.3(8)T or later |
||
12.3XE |
Migrate to 12.3(8)T or later |
The Cisco PSIRT is not aware of any public announcements or malicious use of the vulnerability described in this advisory.
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.4 |
2005-March-29 |
In the Software Versions and Fixes section under "Affected 12.2-Based Release" for "12.2(15)BX and later, changed the rebuild cell "12.2(16)BX Migrate to 12.3(7)XI1 or later" to "Migrate to 12.3(7)XI1 or later." |
Revision 1.3 |
2004-August-27 |
Removed the sentences "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." from the Details section. |
Revision 1.2 |
2004-August-21 |
In the IOS fixed software table, for the row "12.2(18)S and later," moved 12.2(20)S from Maintenance column to Rebuild column. |
Revision 1.1 |
2004-August-20 |
Added text above the table in the Software Versions and Fixes section. In the IOS fixed software table, for the row "12.2(18)EW," added 12.2(20)EW to the Maintenance column. In the IOS fixed software tables, removed "*" and "**" removed from the table headings. |
Revision 1.0 |
2004-August-18 |
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.