A vulnerability in the Cisco Discovery Protocol feature of Cisco FXOS Software and Cisco NX-OS Software could allow an unauthenticated, adjacent attacker to execute arbitrary code with root privileges or cause a denial of service (DoS) condition on an affected device. This vulnerability is due to improper input validation of specific values that are within a Cisco Discovery Protocol message. An attacker could exploit this vulnerability by sending a malicious Cisco Discovery Protocol packet to an affected device. A successful exploit could allow the attacker to execute arbitrary code with root privileges or cause the Cisco Discovery Protocol process to crash and restart multiple times, which would cause the affected device to reload, resulting in a DoS condition. Note: Cisco Discovery Protocol is a Layer 2 protocol. To exploit this vulnerability, an attacker must be in the same broadcast domain as the affected device (Layer 2 adjacent). Cisco has released software updates that address this vulnerability. There are no workarounds that address this vulnerability. This advisory is available at the following link:https://tools.cisco.com/security/center/content/CiscoSecurityAdvisory/cisco-sa-nxos-cdp-dos-ce-wWvPucC9 This advisory is part of the August 2022 Cisco FXOS and NX-OS Software Security Advisory Bundled Publication. For a complete list of the advisories and links to them, see Cisco Event Response: August 2022 Semiannual Cisco FXOS and NX-OS Software Security Advisory Bundled Publication.
A vulnerability in the Cisco Discovery Protocol feature of Cisco FXOS Software and Cisco NX-OS Software could allow an unauthenticated, adjacent attacker to execute arbitrary code with root privileges or cause a denial of service (DoS) condition on an affected device.
This vulnerability is due to improper input validation of specific values that are within a Cisco Discovery Protocol message. An attacker could exploit this vulnerability by sending a malicious Cisco Discovery Protocol packet to an affected device. A successful exploit could allow the attacker to execute arbitrary code with root privileges or cause the Cisco Discovery Protocol process to crash and restart multiple times, which would cause the affected device to reload, resulting in a DoS condition.
Note: Cisco Discovery Protocol is a Layer 2 protocol. To exploit this vulnerability, an attacker must be in the same broadcast domain as the affected device (Layer 2 adjacent).
Cisco has released software updates that address this vulnerability. There are no workarounds that address this vulnerability.
This advisory is available at the following link:
https://tools.cisco.com/security/center/content/CiscoSecurityAdvisory/cisco-sa-nxos-cdp-dos-ce-wWvPucC9
This advisory is part of the August 2022 Cisco FXOS and NX-OS Software Security Advisory Bundled Publication. For a complete list of the advisories and links to them, see Cisco Event Response: August 2022 Semiannual Cisco FXOS and NX-OS Software Security Advisory Bundled Publication.
This vulnerability affects the following Cisco products if they are running a vulnerable release of Cisco FXOS or NX-OS Software and have Cisco Discovery Protocol enabled both globally and on at least one interface:
Note: Cisco Discovery Protocol is enabled by default on all of the products in the preceding list except Cisco Nexus 9000 Series Fabric Switches in ACI mode.
For information about which Cisco software releases are vulnerable, see the Fixed Software section of this advisory.
In all releases of Cisco FXOS Software, Cisco Discovery Protocol is always enabled on the management (mgmt0) port. In Cisco FXOS Software releases earlier than Release 2.1, Cisco Discovery Protocol is always enabled on all front-panel ports as well as the management (mgmt0) port.
To determine whether Cisco Discovery Protocol is enabled on a Cisco MDS or Nexus Switch that is running Cisco NX-OS Software, use the show running-config cdp all | include "cdp enable" command in the device CLI. If the command returns at least the following lines, Cisco Discovery Protocol is enabled globally and on at least one interface:
nxos# show running-config cdp all | include "cdp enable"
cdp enable
cdp enable
In addition, the show cdp all command can be used to verify the status of Cisco Discovery Protocol on all interfaces of the device.
Cisco Discovery Protocol is disabled by default on Cisco Nexus 9000 Series Fabric Switches in ACI mode. To determine the status of Cisco Discovery Protocol on all interfaces of a device, use the show cdp all command in the device CLI. To determine if Cisco Discovery Protocol is enabled on at least one interface, use the show cdp all | grep "enabled on" command. If the command returns any output, as in the following example, Cisco Discovery Protocol is enabled on at least one interface:
nxos# show cdp all | grep "enabled on"
CDP enabled on interface
On Cisco UCS 6200, 6300, and 6400 Series Fabric Interconnects, Cisco Discovery Protocol is always enabled on the following ports:
Cisco Discovery Protocol may also be enabled on server ports (interfaces that are presented to the servers in the Cisco UCS Manager domain) and appliance ports (interfaces that connect to directly attached NFS storage). To determine the status of Cisco Discovery Protocol on these ports, use the show configuration | egrep "^ scope|enable cdp" command in the device CLI. If the command returns enable cdp under the org scope, Cisco Discovery Protocol is enabled on server ports. If the command returns enable cdp under the eth-storage scope, Cisco Discovery Protocol is enabled on appliance ports. The following example shows the output of the command on a device that has Cisco Discovery Protocol enabled on server ports and appliance ports:
ucs-fi# show configuration | egrep "^ scope|enable cdp"
.
.
.
scope org
enable cdp
.
.
.
scope eth-storage
enable cdp
.
.
.
Only products listed in the Vulnerable Products section of this advisory are known to be affected by this vulnerability.
Cisco has confirmed that this vulnerability does not affect the following Cisco products:
There are no workarounds that address this vulnerability.
However, customers who do not use Cisco Discovery Protocol can disable the feature either globally, to fully close the attack vector, or on individual interfaces, to reduce the attack surface.
Cisco Discovery Protocol is always enabled and cannot be disabled in Cisco FXOS Software. In Cisco FXOS Software releases 2.1 and later, Cisco Discovery Protocol is enabled on the management (mgmt0) port only.
To disable Cisco Discovery Protocol globally on a Cisco MDS or Nexus Switch, use the no cdp enable command in global configuration mode, as shown in the following example:
nxos# conf t
Enter configuration commands, one per line. End with CNTL/Z.
nxos(config)# no cdp enable
nxos(config)# end
nxos# copy running-config startup-config
[########################################] 100%
Copy complete.
To disable Cisco Discovery Protocol on an interface on a Cisco MDS or Nexus Switch, use the no cdp enable command in interface configuration mode, as shown in the following example:
nxos# conf t
Enter configuration commands, one per line. End with CNTL/Z.
nxos(config)# interface Ethernet1/1
nxos(config-if)# no cdp enable
nxos(config-if)# end
nxos# copy running-config startup-config
[########################################] 100%
Copy complete.
Cisco Discovery Protocol cannot be disabled completely on Cisco UCS Fabric Interconnects. Cisco Discovery Protocol can be disabled on server ports and appliance ports on Cisco UCS Fabric Interconnects, but it cannot be disabled on Ethernet uplink ports, Ethernet port channel members, FCoE uplink ports, or management ports.
To disable Cisco Discovery Protocol on the server ports of a Cisco UCS Fabric Interconnect, use the disable cdp command in the default nw-ctrl-policy in the org scope, as shown in the following example:
ucs-fi# scope org
ucs-fi /org # enter nw-ctrl-policy default
ucs-fi /org/nw-ctrl-policy # disable cdp
ucs-fi /org/nw-ctrl-policy* # exit
ucs-fi /org* # exit
ucs-fi* # commit-buffer
ucs-fi#
To disable Cisco Discovery Protocol on the appliance ports of a Cisco UCS Fabric Interconnect, use the disable cdp command in the default nw-ctrl-policy in the eth-storage scope, as shown in the following example:
ucs-fi* # scope eth-storage
ucs-fi /eth-storage* # enter nw-ctrl-policy default
ucs-fi /eth-storage/nw-ctrl-policy* # disable cdp
ucs-fi /eth-storage/nw-ctrl-policy* # exit
ucs-fi /eth-storage* # exit
ucs-fi* # commit-buffer
ucs-fi#
While these mitigations have been deployed and were proven successful in a test environment, customers should determine the applicability and effectiveness in their own environment and under their own use conditions. Customers should be aware that any workaround or mitigation that is implemented may negatively impact the functionality or performance of their network based on intrinsic customer deployment scenarios and limitations. Customers should not deploy any workarounds or mitigations before first evaluating the applicability to their own environment and any impact to such environment.
Cisco has released free software updates that address the vulnerability described in this advisory. Customers with service contracts that entitle them to regular software updates should obtain security fixes through their usual update channels.
Customers may only install and expect support for software versions and feature sets for which they have purchased a license. By installing, downloading, accessing, or otherwise using such software upgrades, customers agree to follow the terms of the Cisco software license:
https://www.cisco.com/c/en/us/products/end-user-license-agreement.html
Additionally, customers may only download software for which they have a valid license, procured from Cisco directly, or through a Cisco authorized reseller or partner. In most cases this will be a maintenance upgrade to software that was previously purchased. Free security software updates do not entitle customers to a new software license, additional software feature sets, or major revision upgrades.
The Cisco Support and Downloads page on Cisco.com provides information about licensing and downloads. This page can also display customer device support coverage for customers who use the My Devices tool.
When considering software upgrades, customers are advised to regularly consult the advisories for Cisco products, which are available from the Cisco Security Advisories page, 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.
Customers who purchase directly from Cisco but do not hold a Cisco service contract and customers who make purchases through third-party vendors but are unsuccessful in obtaining fixed software through their point of sale should obtain upgrades by contacting the Cisco TAC: https://www.cisco.com/c/en/us/support/web/tsd-cisco-worldwide-contacts.html
Customers should have the product serial number available and be prepared to provide the URL of this advisory as evidence of entitlement to a free upgrade.
To help customers determine their exposure to vulnerabilities in Cisco FXOS and NX-OS Software, Cisco provides the Cisco Software Checker. This tool identifies any Cisco security advisories that impact a specific software release and the earliest release that fixes the vulnerabilities that are described in each advisory (“First Fixed”). If applicable, the tool also returns the earliest release that fixes all the vulnerabilities that are described in all the advisories that the Software Checker identifies (“Combined First Fixed”).
To use the tool, go to the Cisco Software Checker page and follow the instructions. Alternatively, use the following form to search for vulnerabilities that affect a specific software release. To use the form, follow these steps:
Cisco has released the following SMUs to address this vulnerability. Customers can download the SMUs from the Software Center on Cisco.com.
Cisco NX-OS Software Release | Platform | SMU Name |
---|---|---|
8.2(8) | Nexus 7000 Series Switches | n7000-s2-dk9.8.2.8.CSCwc36631.bin n7700-s2-dk9.8.2.8.CSCwc36631.bin |
9.3(9) | Nexus 3000 and 9000 Series Switches | nxos.CSCwb70210-n9k_ALL-1.0.0-9.3.9.lib32_n9000.rpm |
For details about downloading and installing SMUs in Cisco NX-OS Software for Cisco Nexus 3000, 7000, and 9000 Series Switches, see the Performing Software Maintenance Upgrades section of the Cisco NX-OS system management configuration guide for Cisco Nexus 3000 Series Switches, Cisco Nexus 7000 Series Switches, and Cisco Nexus 9000 Series Switches.
In the following table(s), the left column lists Cisco software releases. The center column indicates whether a release is affected by the vulnerability described in this advisory and the first release that includes the fix for this vulnerability. The right column indicates whether a release is affected by all of the High and Critical vulnerabilities described in this bundle and which release includes fixes for those vulnerabilities.
UCS 6200, 6300, and 6400 Series Fabric Interconnects
Cisco UCS Software Release | First Fixed Release for This Vulnerability | First Fixed Release for All Vulnerabilities Described in the Bundle of Advisories |
---|---|---|
Earlier than 4.1 | Migrate to a fixed release. | Migrate to a fixed release. |
4.1 | 4.1(3i) | 4.1(3i) |
4.2 | 4.2(1n) | 4.2(1n) |
The Cisco Product Security Incident Response Team (PSIRT) validates only the affected and fixed release information that is documented in this advisory.
For help determining the best Cisco NX-OS Software release for a Cisco Nexus Switch, see the following Recommended Releases documents. If a security advisory recommends a later release, Cisco recommends following the advisory guidance.
Cisco MDS Series Switches
Cisco Nexus 1000V for VMware Switch
Cisco Nexus 3000 Series Switches
Cisco Nexus 5500 Platform Switches
Cisco Nexus 5600 Platform Switches
Cisco Nexus 6000 Series Switches
Cisco Nexus 7000 Series Switches
Cisco Nexus 9000 Series Switches
Cisco Nexus 9000 Series ACI-Mode Switches
To determine the best release for Cisco UCS Software, see the Recommended Releases documents in the release notes for the device.
The Cisco PSIRT is not aware of any public announcements or malicious use of the vulnerability that is described in this advisory.
Cisco would like to thank an anonymous researcher working with the National Cyber Security Centre of the Netherlands for reporting this vulnerability.
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.
Version | Description | Section | Status | Date |
---|---|---|---|---|
1.0 | Initial public release. | - | Final | 2022-AUG-24 |
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 standalone 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.