Cisco Smart Install Detection means a Cisco IOS or IOS XE switch is still running Smart Install, a zero-touch provisioning protocol with no authentication, on TCP port 4786. Fix it by running no vstack in global configuration mode, saving the configuration, and blocking TCP 4786 with an ACL wherever the command is missing or Smart Install is still needed.
Nessus rates this finding as informational, and Cisco does not call it a vulnerability. Treat it as a configuration issue that gives anyone who can reach the port unauthenticated control of the switch.
What the scanner is actually detecting
Tenable Nessus reports this as Cisco Smart Install Detection, plugin ID 105161. It is a remote check in the Service detection family, severity Info, and its synopsis states that the Cisco Smart Install feature is enabled on the remote host. The plugin references Cisco advisory cisco-sa-20170214-smi, and its solution is to disable Smart Install if it is not needed.
A related plugin, Cisco IOS Smart Install Protocol Misuse (cisco-sr-20170214-smi), ID 99233, reaches the same conclusion from a credentialed scan. It is in the CISCO family and requires local checks and the detected IOS version, so it only appears when Nessus has logged in to the switch.
Some background helps when reading either result. A Smart Install network has one director (a switch or router) and one or more client switches. Cisco states that the feature is enabled by default on client switches and that only clients are affected by the protocol misuse. A switch that was deployed years ago and never touched again is the typical hit.
Real-world risk
The Smart Install protocol has no authentication or authorization by design. According to Cisco, an attacker who can send Smart Install messages to a client can:
- change the TFTP server address the client uses;
- copy arbitrary files from the client, such as the startup configuration with its password hashes and SNMP communities, to an attacker-controlled TFTP server;
- replace the startup configuration and force a reload after a set interval;
- load an attacker-supplied IOS image;
- run configuration mode commands (IOS 15.2(2)E and later, IOS XE 3.6.0E and later).
This is not theoretical. Cisco’s advisory notes a significant increase in Internet scans looking for switches with Smart Install left enabled. A separate code flaw in the same feature, CVE-2018-0171 (CVSS 9.8, advisory cisco-sa-20180328-smi2), is a buffer overflow triggered by a crafted message to TCP 4786 that can reload the device or execute code. CVE-2018-0171 and the Smart Install denial of service flaw CVE-2018-0156 are both in the CISA Known Exploited Vulnerabilities catalog (see how the CISA KEV catalog works). In August 2025 Cisco Talos reported that Static Tundra, a group it links to the FSB’s Center 16, has for years exploited CVE-2018-0171 on unpatched, often end-of-life Cisco devices and exfiltrated their configurations.
Urgency depends on reachability. A switch whose management address is reachable from the Internet needs action today. One reachable only from a locked-down management network is lower risk, but any compromised host inside that network gets the same unauthenticated access.
How to confirm it on the device
Log in to the switch and run:
show vstack config
Cisco lists these outputs as meaning the Smart Install client is enabled:
Role: Client
Role: Client (SmartInstall enabled)
Capability: Client
Oper Mode: Enabled
Role: Client
Record the software release, because it decides which fix applies:
show version
From a workstation, you can check whether the port answers, remembering Cisco’s warning that TCP 4786 is also used by other protocols, so an open port alone is not proof:
nmap -Pn -p 4786 192.0.2.10
Then look for signs that the feature was already abused. Cisco lists log messages such as %SMI-6-UPGRD_STARTED, %SYS-5-CONFIG_NV_I with a tftp:// source, and reload reasons mentioning SMI IBC Download Process or HULC SMI Scheduled Reload. Talos also saw attackers enable a TFTP server for the startup configuration. Check both, and search your syslog server as well:
show logging | include SMI|CONFIG_NV_I
show running-config | include tftp-server
A line such as tftp-server nvram:startup-config that you did not add is a strong indicator of compromise.
How to fix it
Smart Install not in use (most networks)
Disable the feature and save the change. Cisco documents no vstack as the global configuration command that disables Smart Install and shuts down its TCP ports, on a client or a director:
configure terminal
no vstack
end
copy running-config startup-config
If you still use Smart Install only for zero-touch deployment, Cisco recommends adding no vstack to the configuration pushed to each new client, so it turns itself off once provisioned. For many switches, push the same two lines with your usual configuration automation.
Releases where no vstack does not exist
The command arrived with the fix for Cisco bug CSCtj75729. If the parser rejects no vstack, block TCP 4786 on every IP interface of the switch and plan an upgrade. Replace Vlan10 with each SVI or routed interface that has an address:
configure terminal
ip access-list extended SMI_BLOCK
deny tcp any any eq 4786
permit ip any any
exit
interface Vlan10
ip access-group SMI_BLOCK in
end
copy running-config startup-config
An interface takes one inbound IPv4 ACL. If one is already applied, add the deny line near the top of that list rather than replacing it.
Smart Install still needed beyond zero-touch
Cisco’s guidance is to let only the director reach clients on TCP 4786. Its example, with director 10.10.10.1 and client 10.10.10.200, is:
ip access-list extended SMI_HARDENING_LIST
permit tcp host 10.10.10.1 host 10.10.10.200 eq 4786
deny tcp any any eq 4786
permit ip any any
Apply it to all IP interfaces on all clients, and add infrastructure ACLs at your network edge that drop TCP 4786 toward switch management ranges. Cisco recommends migrating to Network Plug and Play, which adds authentication, for long-term use.
Releases where the setting does not persist
Because of Cisco bug CSCvd99197, no vstack does not survive a reload on 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 and 3.9.2bE. Cisco advises moving to an unaffected release or automating reapplication of the command after every reload.
Upgrade
Cisco states that in releases containing the fix for bug CSCvd36820, Smart Install disables itself automatically when not in use. Upgrading also fixes CVE-2018-0171, for which Cisco says there are no workarounds for customers who need Smart Install. Enter your release in the Cisco Software Checker to find the first fixed release for your platform.
How to verify the fix and rescan
- Run show vstack config. Cisco’s sample output for a disabled client is Role: Client (SmartInstall disabled).
- Run show startup-config | include vstack and confirm the no vstack line was saved.
- From a host outside the management network, nmap -Pn -p 4786 against the switch should no longer report the port as open.
- After the next planned reload, repeat step 1, especially on the releases affected by CSCvd99197.
- Rescan. Plugin 105161 should stop reporting, and plugin 99233 should clear on a credentialed rescan.
What can break and how to roll back
- Zero-touch provisioning. Disabling Smart Install on the director stops new switches from receiving images and configurations, and vstack director and vstack basic are refused while it is disabled. To roll back, enter vstack in global configuration mode. Cisco notes that if the configuration changed while the feature was off, you should run write memory on clients after re-enabling it.
- ACL lockout. Leaving out permit ip any any blocks all traffic through the implicit deny. When working remotely, run reload in 10 before applying the ACL and reload cancel once you confirm access, without saving in between. Remove a bad ACL with no ip access-group SMI_BLOCK in on the interface.
- Upgrades reload the switch, so schedule an outage window.
Common false positive reasons
- Another service on TCP 4786. Cisco PSIRT warns that an open port 4786 alone can be a false positive, because other protocols use it. If the host is not a Cisco switch, or show vstack config shows Smart Install disabled, collect that output as evidence.
- Director, not client. The misuse and CVE-2018-0171 affect clients only. A director that answers on 4786 is still running Smart Install, so disable it if unused, but its risk is different.
- Restricted by design. If you kept Smart Install with an ACL and the scanner sits on a permitted path, the finding is accurate but mitigated. Record it as an accepted exception.
- Setting lost on reload. A finding that returns after a maintenance window usually means CSCvd99197, not a scanner error.
FAQ
Does no vstack require a reload?
No. It is a global configuration command that disables Smart Install and shuts its TCP ports. Save the configuration so it survives the next reload.
Why is it rated Info if the impact is so serious?
Plugin 105161 detects an enabled feature, not a software flaw. Cisco’s own advisory is rated Informational and describes the issue as misuse of a protocol that does not require authentication by design. The impact on an exposed client is still full configuration control.
Does disabling Smart Install fix CVE-2018-0171?
It removes the attack path, and Cisco and Talos give it as the option when patching is not possible. The vulnerable code remains, so still upgrade to a fixed release.
Should I disable it on the director too?
Yes, if you no longer provision switches with Smart Install. Cisco documents no vstack for both clients and directors.
Tracking this finding across many switches
Smart Install tends to linger on older access switches spread across many sites, so the real work is knowing which switches reported plugin 105161, which were fixed, and which came back after a reload. SITEY, a self-hosted vulnerability management platform, imports Nessus results from an uploaded .nessus export and supports per-finding retest for Nessus findings, so you can confirm 105161 has closed on each switch. Its AI triage can suggest false positives with evidence, and a human makes the final call.
Sources
- Cisco Security Advisory: Cisco Smart Install Protocol Misuse (cisco-sa-20170214-smi)
- Cisco Security Advisory: Smart Install Remote Code Execution Vulnerability (CVE-2018-0171)
- Cisco Smart Install Configuration Guide: Smart Install Description and Security Best Practices
- Cisco Talos: Static Tundra compromises unpatched end-of-life network devices
- Tenable Nessus plugin 105161: Cisco Smart Install Detection