Cisco Security Advisory
Cisco Smart Install Protocol Misuse
-
Cisco is aware of a significant increase in Internet scans attempting to detect devices where, after completing setup, the Smart Install feature remains enabled and without proper security controls. This could leave the involved devices susceptible to misuse of the feature. Customers who have not done so are encouraged to follow guidance in the Recommendations section of this notice to assess and ensure their network switches are properly protected against abuse of the Smart Install feature.
Several researchers have reported on the use of Smart Install (SMI) protocol messages toward Smart Install clients, also known as integrated branch clients (IBC), allowing an unauthenticated, remote attacker to change the startup-config file and force a reload of the device, load a new IOS image on the device, and execute high-privilege CLI commands on switches running Cisco IOS and IOS XE Software.
Cisco does not consider this a vulnerability in Cisco IOS, IOS XE, or the Smart Install feature itself but a misuse of the Smart Install protocol, which does not require authentication by design. Customers who are seeking more than zero-touch deployment should consider deploying the Cisco Network Plug and Play solution instead.
Cisco has updated the Smart Install Configuration Guide to include security best practices regarding the deployment of the Cisco Smart Install feature within customer infrastructures.
These issues have been reported by Tenable Network Security, Daniel Turner of Trustwave SpiderLabs, and Alexander Evstigneev and Dmitry Kuznetsov of Digital Security.
Cisco has recently published blog posts alerting our customers about the need to ensure their network switches are properly protected against abuse of the Smart Install feature, as Cisco has learned of a public posting that details potential abuse of this feature and has received reports of attacks when Smart Install was left enabled. These blog posts are available at the following links:- Cisco PSIRT - Mitigating and Detecting Potential Abuse of Cisco Smart Install Feature
- Cisco Coverage for Smart Install Client Protocol Abuse
Additional Information
Cisco Smart Install
Cisco Smart Install is a "plug-and-play" configuration and image-management feature that provides zero-touch deployment for new (typically access layer) switches. The feature allows a customer to ship a Cisco switch to any location, install it in the network, and power it on without additional configuration requirements. The Smart Install feature incorporates no authentication by design.
A Smart Install network consists of exactly one Smart Install director switch or router, also known as an integrated branch director (IBD), and one or more Smart Install client switches, also known as integrated branch clients (IBCs). A client switch does not need to be directly connected to the director but can be up to seven hops away. Only Smart Install client switches are affected by the misuse described in this document.
The director provides a single management point for images and configuration of client switches. When a client switch is first installed into the network, the director automatically detects the new switch and identifies the correct Cisco IOS image and the configuration file for downloading. It can also allocate an IP address and hostname to a client.
The Smart Install feature is enabled by default on client switches. No configuration is needed in the client switches.
The Cisco Talos group has developed a tool that customers can use to scan for devices that have the Smart Install feature enabled in their environment. Please see the Talos blog post for further information on this tool.
Further information on the Smart Install feature is available in the Smart Install Configuration Guide.
Protocol Misuse Opportunities
The absence of an authorization or authentication mechanism in the Smart Install protocol between the client and the director can allow a client to process crafted SMI protocol messages as if these messages were from the Smart Install director and perform actions similar to those in the following list:
- Change the TFTP server address on the IBC
- Copy arbitrary1 files from the IBC to an attacker-controlled TFTP server
- Substitute the client's startup-config file with a file that the attacker prepared and force a reload of the IBC after a defined time interval
- Load an attacker-supplied IOS image onto the IBC
- Execute high-privilege configuration mode CLI commands on an IBC, including do-exec CLI commands. Any output of or prompt resulting from the command(s) run will appear on the IBC’s local console (this is only possible in IOS 15.2(2)E and later, and IOS XE 3.6.0E and later)
1 Any file from any file system that can be accessed via the regular copy command on the IOS or IOS XE CLI.
Recommendations
Security best practices around the Cisco Smart Install feature depend on how the feature is used in a specific customer environment. The following sections provide guidance for each of the use cases.
Customers Not Using the Smart Install Feature
Customers who do not use the Cisco Smart Install feature, and who are running a release of Cisco IOS or Cisco IOS XE Software where the command is available, should disable the Smart Install feature (either Client or Director) with the configuration command no vstack.
The following examples show the output of the show vstack config command in Cisco Catalyst switches with the Smart Install client feature enabled; these are the only outputs that indicate that the Smart Install client feature is enabled:
switch1#show vstack config
Role: Client
.
.
.switch2#show vstack config
Role: Client (SmartInstall enabled)
.
.
.switch3#show vstack config
Note: Use of the no vstack global configuration command to disable the Smart Install client feature was introduced with the fix for Cisco defect CSCtj75729 (Ability to shut Smart Install default service on TCP port 4786). If a Cisco IOS or IOS XE Software release supports the Smart Install client feature but the no vstack command does not exist, the release does not contain the fix for Cisco defect CSCtj75729.
Capability: Client
Oper Mode: Enabled
Role: Client
.
.
.
For networks where the no vstack command is not available, refer to the "Customers Leveraging the Smart Install Feature for More than Zero-Touch Deployment" section.
Note: The no vstack command does not persist across reload due to Cisco defect CSCvd99197 in the following releases of Cisco IOS and IOS XE (This issue is platform independent, but several of the releases below only support hardware platforms that can act as a Director only):- 12.2(60)EZ11
- 15.1(2)SY11
- 15.2(1)SY5
- 15.2(2)SY3
- 15.2(5)E2, 15.2(5)E2a, 15.2(5)E2b
- 15.4(1)SY3
- 3.9.2E, 3.9.2aE, 3.9.2bE
Customers Leveraging the Smart Install Feature Purely for Zero-Touch Deployment
Customers who are leveraging the Smart Install feature purely for zero-touch deployment should disable the Smart Install feature with the configuration command no vstack once the switch has been deployed. See the "Customers Not Using the Smart Install Feature" section for further details on the no vstack command.
Customers Leveraging the Smart Install Feature for More than Zero-Touch Deployment
Customers leveraging the Cisco Smart Install feature for more than zero-touch deployment and where the no vstack command is not available should ensure that only the IBD has TCP connectivity to all IBCs on port 4786. Administrators can use the following security best practices for Cisco Smart Install deployments on affected devices:
- Interface access control lists (ACLs)
- Control Plane Policing (CoPP is not available on all Cisco IOS Software releases)
ip access-list extended SMI_HARDENING_LIST
This ACL would then need to be deployed on all IP interfaces on all IBCs. It can be pushed via the IBD when the switches are first deployed.
permit tcp host 10.10.10.1 host 10.10.10.200 eq 4786
deny tcp any any eq 4786
permit ip any any
To further restrict access to all the IBCs within the infrastructure administrators can use the following security best practices on other devices in the network:
- Infrastructure access control lists (iACLs)
- VLAN access control lists (VACLs)
https://sec.cloudapps.cisco.com/security/center/content/CiscoAppliedMitigationBulletin/cisco-amb-20120328-smartinstall
Indicators of Compromise
There are no indicators of an attacker changing the TFTP server address or of an attacker copying files off the device using Smart Install capabilities. Cisco recommends that customers look for access from external IP addresses.
If write operations are induced via the Smart Install feature and the logging level is set to 6 (informational) or higher, messages will appear in the logs.
If the startup-config is replaced, the following messages are typically seen in the logs from the affected device:
%SMI-6-UPGRD_STARTED: Device (IP address: 0.0.0.0) startup-config upgrade has started
%SYS-5-CONFIG_NV_I: Nonvolatile storage configured from tftp:///my.conf by on console
%SMI-6-UPGRD_SUCCESS: Device (IP address: 0.0.0.0) startup-config has upgraded successfully
%SMI-6-DWNLD_STARTED: Device (IP address: 0.0.0.0) post install file download has started
%SMI-6-DWNLD_SUCCESS: Device (IP address: 0.0.0.0) post install file has downloaded successfully
.
.
.
%SMI-6-UPGRD_STARTED: Device (IP address: 0.0.0.0) startup-config upgrade has started
%SYS-5-RELOAD: Reload requested by SMI IBC Download Process. Reload reason: Switch upgraded through Smart Install
%SYS-5-RELOAD: Reload requested by Delayed Reload. Reload reason: HULC SMI Scheduled Reload after Config Download
%SYS-5-RELOAD: Reload requested by Delayed Reload. Reload reason: HULC SMI Scheduled Reload
Cisco has published Intrusion Prevention System (IPS) signature ID 7856-0 as well as Snort rules 41722-41725 to help detect the use of Smart Install protocol messages in customer networks. Please see the Talos blog post for details on the Snort rules.
To avoid false positives, this signature and Snort rules should be enabled only in networks not using the Smart Install feature or at places in the network where Smart Install protocol messages are not expected to be seen.
The following best practices are recommended should also be used to provide more visibility into possible anomalies in an environment:
- Implementing supplemental instrumentation focused on high-value network segments, devices, and individuals, to oversee network devices and enable traffic monitoring (Telemetry-Based Infrastructure Device Integrity Monitoring)
- Implementing Cisco IOS NetFlow for visibility into traffic flows emanating from each portion of the network for evaluation against expected traffic
- Monitoring network device event logging to identify unexpected network device-level activity
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 https://sec.cloudapps.cisco.com/security/center/resources/security_vulnerability_policy.html. This includes instructions for press inquiries regarding Cisco security notices. All Cisco security advisories are available at http://www.cisco.com/go/psirt.
-
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 4.2 Updated affected products and versions for CSCvd99197 - "no vstack", does not persist across reload. Recommendations Final 2018-May-23 4.1 Updated show vstack config outputs, clarified that Catalyst 6500 supports the SMI Director feature only, removed information about ME 3400 and ME 3400E as those do not support SMI. Recommendations 2018-April-16 4.0 Update regarding increased exposure, added note on CSCvd99197. Cisco Response, Recommendations 2017-October-30 3.0 Updates regarding possibility of copying arbitrary files and log messages. Protocol Misuse Opportunities, Indicators of Compromise 2017-March-03 2.1 Clarified affected device output. Recommendations 2017-March-01 2.0 Updates related to public abuse. ??? 2017-February-27 1.0 Initial release. - 2017-February-14
-
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.