CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H/E:X/RL:X/RC:X
-
A vulnerability in the Easy Virtual Switching System (VSS) feature of Cisco IOS XE Software for Cisco Catalyst 4500 Series Switches and Cisco Catalyst 4500-X Series Switches could allow an unauthenticated, remote attacker to execute arbitrary code on the underlying Linux operating system of an affected device.
The vulnerability is due to incorrect boundary checks of certain values in Easy VSS protocol packets that are destined for an affected device. An attacker could exploit this vulnerability by sending crafted Easy VSS protocol packets to UDP port 5500 while the affected device is in a specific state. When the crafted packet is processed, a buffer overflow condition may occur. A successful exploit could allow the attacker to trigger a denial of service (DoS) condition or execute arbitrary code with root privileges on the underlying Linux operating system of the affected device.
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://sec.cloudapps.cisco.com/security/center/content/CiscoSecurityAdvisory/cisco-sa-ios-xe-evss-code-exe-8cw5VSvwThis advisory is part of the March 2021 release of the Cisco IOS and IOS XE Software Security Advisory Bundled Publication. For a complete list of the advisories and links to them, see Cisco Event Response: March 2021 Semiannual Cisco IOS and IOS XE Software Security Advisory Bundled Publication.
-
Vulnerable Products
This vulnerability affects Cisco Catalyst 4500 and 4500-X Series Switches if they are running a vulnerable release of Cisco IOS XE Software and one of the following conditions is true:
- The switch is being converted from standalone mode to virtual switch mode using the Easy VSS feature.
- Cisco Discovery Protocol is enabled with Application type, length, value (TLV) information.
For information about which Cisco software releases are vulnerable, see the Fixed Software section of this advisory.
Determine the Cisco Discovery Protocol Configuration
To determine whether the Cisco Discovery Protocol is enabled on a device, use the show cdp command in the device CLI. The output of the command displays global Cisco Discovery Protocol information. The following example shows the output of the show cdp command if the Cisco Discovery Protocol is enabled:
Switch#show cdp
Global CDP information:
Sending CDP packets every 60 seconds
Sending a holdtime value of 180 seconds
Sending CDPv2 advertisements is enabledThe following example shows the output of the show cdp command if the protocol is not enabled:
Switch#show cdp
% CDP is not enabledDetermine the Cisco Discovery Protocol Application TLVs Configuration
Cisco Discovery Protocol Application TLV processing is enabled by default. To determine if the Application TLVs are disabled, use the show running-config | include no cdp tlv app CLI command. If the command returns no output, then processing of Cisco Discovery Protocol Application TLVs is enabled.
If the show running-config | include no cdp tlv app command returns output, that output will indicate how many interfaces have Cisco Discovery Protocol Application TLV processing disabled. The following example shows output for the command if one interface is disabled:
Switch#show running-config | include no cdp tlv app no cdp tlv app
When the Cisco Discovery Protocol is enabled with Application TLVs on a device, an adjacent attack vector exists through the Cisco Discovery Protocol handler. An attacker could use this vector to force the device into a vulnerable state and exploit this vulnerability by targeting UDP port 5500 of the affected device.
The Cisco Discovery Protocol is a Layer 2 protocol. To exploit the vulnerability through the Cisco Discovery Protocol, the attacker would need to be in the same broadcast domain as the affected device that has the Cisco Discovery Protocol enabled with Application TLVs (Layer 2 adjacent).
Note: If the switch operates as a VSS member, this vulnerability is not exploitable remotely. Only the adjacent vector through the Cisco Discovery Protocol is available. Use the show switch virtual command in the device CLI to determine the status of a VSS. The following example shows the output of the show switch virtual CLI command for a device that operates as a VSS member:
Switch#show switch virtual
Executing the command on VSS member switch role = VSS Active, id = 2
Switch mode: Virtual SwitchThe following example shows the output of the show switch virtual CLI command for a device that does not operate as a VSS member:
Switch# show switch virtual
Switch Mode : StandaloneProducts Confirmed Not Vulnerable
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:
- IOS Software
- IOS XR Software
- NX-OS Software
-
By default, Catalyst 4500 Series and 4500-X Series Switches are configured to operate in standalone mode, with each switch working independently. The VSS feature enables administrators to combine two switches into a single network element that operates in virtual switch mode. The Easy VSS feature simplifies the VSS configuration through a single command.
The switch convert mode easy-virtual-switch exec command configures the switches to operate as a VSS. As part of this process, UDP port 5500 is opened until the switches reload as a single VSS. While the port is open, an attacker can remotely exploit this vulnerability through UDP port 5500.
Once the system reloads as a VSS, UDP port 5500 is closed and this vulnerability is no longer exploitable remotely. Only the adjacent attack vector through the Cisco Discovery Protocol is available.
-
Exploitation of this vulnerability can result in a crash of the vss bringup process on an affected device. When a device has experienced a crash of the vss bringup process, the following message may be seen in the system logs:
IOSD-EXT-SIGNAL: Segmentation fault(11), Process = vss bringup
This error message indicates that the vss bringup process has crashed. However, the process may have crashed for a reason other than the exploitation of this vulnerability. Customers are advised to contact their support organization to review the error messages and determine whether the device has been compromised by an exploitation of this vulnerability.
-
There are no workarounds for this vulnerability. However, mitigations are available.
Disable Cisco Discovery Protocol Application TLVs
Cisco Discovery Protocol Application TLVs are enabled by default. Disabling the Application TLVs will close the adjacent attack vector and reduce the attack surface.
To disable use of Cisco Discovery Protocol Application TLVs globally for a device, use the no cdp tlv app command in the global configuration CLI. To disable use of Application TLVs for a specific interface of a device, use the no cdp tlv app command in the interface configuration CLI.
To see if Cisco Discovery Protocol Application TLVs are in use on the device before disabling them, use the show cdp tlv app command. If the command returns output, then disabling the Application TLVs globally is not advised.
Disable Cisco Discovery Protocol
Customers who do not use the Cisco Discovery Protocol feature may disable it either globally, which will close the adjacent attack vector, or on individual interfaces, which will reduce the attack surface.
To disable the protocol globally for a device, use the no cdp run command in the global configuration CLI. To disable the protocol for a specific interface of a device, use the no cdp enable command in the interface configuration CLI.
Customers who cannot apply the above mitigations can reduce the attack surface by restricting inbound traffic to UDP port 5500 by implementing an access control list (ACL) or an infrastructure access control list (iACL).
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 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.htmlAdditionally, 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.
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 Without Service Contracts
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.
Cisco IOS and IOS XE Software
To help customers determine their exposure to vulnerabilities in Cisco IOS and IOS XE Software, Cisco provides the Cisco Software Checker to identify any Cisco Security Advisories that impact a specific software release and the earliest release that fixes the vulnerabilities described in each advisory (“First Fixed”). If applicable, the tool also returns the earliest release that fixes all the vulnerabilities described in all the advisories identified (“Combined First Fixed”).
Customers can use the Cisco Software Checker to search advisories in the following ways:
- Choose the software and one or more releases
- Upload a .txt file that includes a list of specific releases
- Enter the output of the show version command
After initiating a search, customers can customize the search to include all Cisco Security Advisories, a specific advisory, or all advisories in the most recent bundled publication.
Customers can also use the following form to determine whether a release is affected by any Cisco Security Advisory by entering a Cisco IOS or IOS XE Software release—for example, 15.1(4)M2 or 3.13.8S:
By default, the Cisco Software Checker includes results only for vulnerabilities that have a Critical or High Security Impact Rating (SIR). To include results for Medium SIR vulnerabilities, customers can use the Cisco Software Checker on Cisco.com and check the Medium check box in the drop-down list under Impact Rating when customizing a search.
-
The Cisco Product Security Incident Response Team (PSIRT) is not aware of any public announcements or malicious use of the vulnerability that is described in this advisory.
-
This vulnerability was found during internal security testing by X.B. and J.F.D. of Cisco.
-
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 2021-MAR-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.