Cisco Security Advisory
SNMP Remote Code Execution Vulnerabilities in Cisco IOS and IOS XE Software
CVSS:3.0/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H/E:F/RL:O/RC:C
-
The Simple Network Management Protocol (SNMP) subsystem of Cisco IOS and IOS XE Software contains multiple vulnerabilities that could allow an authenticated, remote attacker to remotely execute code on an affected system or cause an affected system to reload. An attacker could exploit these vulnerabilities by sending a crafted SNMP packet to an affected system via IPv4 or IPv6. Only traffic directed to an affected system can be used to exploit these vulnerabilities.
The vulnerabilities are due to a buffer overflow condition in the SNMP subsystem of the affected software. The vulnerabilities affect all versions of SNMP - Versions 1, 2c, and 3. To exploit these vulnerabilities via SNMP Version 2c or earlier, the attacker must know the SNMP read-only community string for the affected system. To exploit these vulnerabilities via SNMP Version 3, the attacker must have user credentials for the affected system. A successful exploit could allow the attacker to execute arbitrary code and obtain full control of the affected system or cause the affected system to reload.
Customers are advised to apply the workaround as contained in the Workarounds section below. Fixed software information is available via the Cisco IOS Software Checker. All devices that have enabled SNMP and have not explicitly excluded the affected MIBs or OIDs should be considered vulnerable.
Cisco has released software updates that address these vulnerabilities. There are workarounds that address these vulnerabilities.
This advisory is available at the following link:
https://sec.cloudapps.cisco.com/security/center/content/CiscoSecurityAdvisory/cisco-sa-20170629-snmp
-
Vulnerable Products
These vulnerabilities affect Cisco devices that are running a vulnerable release of Cisco IOS Software or Cisco IOS XE Software. These vulnerabilities affect all versions of SNMP, versions 1, 2c, and 3.
For information about which Cisco software releases are vulnerable, see the Fixed Software section of this advisory.
Devices configured with any of the following MIBs are vulnerable:
- ADSL-LINE-MIB
- ALPS-MIB
- CISCO-ADSL-DMT-LINE-MIB
- CISCO-BSTUN-MIB
- CISCO-MAC-AUTH-BYPASS-MIB
- CISCO-SLB-EXT-MIB
- CISCO-VOICE-DNIS-MIB
- CISCO-VOICE-NUMBER-EXPANSION-MIB
- TN3270E-RT-MIB
All of the MIBs listed above are enabled by default when SNMP is enabled. Some of the MIBs may not be present on all systems or versions but are enabled when present.
Administrators may be accustomed to utilizing the show snmp mib command in privileged EXEC mode to display a list of enabled MIBs on a device. Not all of the MIBs will be displayed in the output of the show snmp mib command but may still be enabled. Customers are advised to implement the entire exclude list as detailed in the Workarounds section of the advisory.Determining the Cisco IOS Software Release
To determine which Cisco IOS Software release is running on a device, administrators can log in to the device, use the show version command in the CLI, and then refer to the system banner that appears. If the device is running Cisco IOS Software, the system banner displays text similar to Cisco Internetwork Operating System Software or Cisco IOS Software. The banner also displays the installed image name in parentheses, followed by the Cisco IOS Software release number and release name. Some Cisco devices do not support the show version command or may provide different output.
The following example identifies a Cisco product that is running Cisco IOS Software Release 15.5(2)T1 with an installed image name of C2951-UNIVERSALK9-M:
Router> show version
Cisco IOS Software, C2951 Software (C2951-UNIVERSALK9-M), Version 15.5(2)T1, RELEASE SOFTWARE (fc1)
Technical Support: http://www.cisco.com/techsupport
Copyright (c) 1986-2015 by Cisco Systems, Inc.
Compiled Mon 22-Jun-15 09:32 by prod_rel_team
.
.
.For information about the naming and numbering conventions for Cisco IOS Software releases, see White Paper: Cisco IOS and NX-OS Software Reference Guide.
Determining the Cisco IOS XE Software Release
To determine which Cisco IOS XE Software release is running on a device, administrators can log in to the device, use the show version command in the CLI, and then refer to the system banner that appears. If the device is running Cisco IOS XE Software, the system banner displays Cisco IOS XE Software or similar text.
The following example shows the output of the show version command on a device that is running Cisco IOS XE Software Release 3.16.1aS:
Router> show version
Cisco IOS XE Software, Version 03.16.01a.S - Extended Support Release
Cisco IOS Software, ASR1000 Software (PPC_LINUX_IOSD-ADVENTERPRISEK9-M), Version 15.5(3)S1a, RELEASE SOFTWARE (fc1)
Technical Support: http://www.cisco.com/techsupport
Copyright (c) 1986-2015 by Cisco Systems, Inc.
Compiled Wed 04-Nov-15 17:40 by mcpre
.
.
.For information about the naming and numbering conventions for Cisco IOS XE Software releases, see White Paper: Cisco IOS and NX-OS Software Reference Guide.
Products Confirmed Not Vulnerable
No other Cisco products are currently known to be affected by these vulnerabilities.
-
The Simple Network Management Protocol (SNMP) is an application-layer protocol that provides a standardized framework and a common language for monitoring and managing devices in a network. It defines a message format for communication between SNMP managers and agents.
An SNMP agent gathers data from the SNMP MIB, which is the repository of information about device parameters and network data. It also responds to requests from an SNMP manager to get or set data. An SNMP agent contains MIB variables whose values can be requested or changed by an SNMP manager via get or set operations.
These vulnerabilities affect all versions of SNMP-Versions 1, 2c, and 3. An attacker could exploit these vulnerabilities by sending a crafted SNMP packet to an affected device via IPv4 or IPv6. Only traffic directed to the affected system can be used to exploit these vulnerabilities.
To exploit these vulnerabilities via SNMP Version 2c or earlier, the attacker must know the SNMP read-only community string for the affected system. A community string is a password that is applied to a device to restrict both read-only and read-write access to the SNMP data on the device. These community strings, as with all passwords, should be chosen carefully to ensure they are not trivial. They should also be changed at regular intervals and in accordance with network security policies. For example, the strings should be changed when a network administrator changes roles or leaves the organization.
To exploit these vulnerabilities via SNMP Version 3, the attacker must have user credentials for the affected system.
-
Exploitation of these vulnerabilities will cause an affected device to reload and generate a crashinfo file. Contact the Cisco Technical Assistance Center (TAC) to review the file and determine whether the device has been compromised by exploitation of these vulnerabilities.
-
Administrators are advised to allow only trusted users to have SNMP access on an affected system. Administrators are also advised to monitor affected systems by using the show snmp host command in the CLI.
In addition, administrators can mitigate these vulnerabilities by disabling the following MIBs on a device:
- ADSL-LINE-MIB
- ALPS-MIB
- CISCO-ADSL-DMT-LINE-MIB
- CISCO-BSTUN-MIB
- CISCO-MAC-AUTH-BYPASS-MIB
- CISCO-SLB-EXT-MIB
- CISCO-VOICE-DNIS-MIB
- CISCO-VOICE-NUMBER-EXPANSION-MIB
- TN3270E-RT-MIB
To create or update a view entry and disable the affected MIBs, administrators can use the snmp-server view global configuration command, as shown in the following example:
!Standard VIEW and Security Exclusions
snmp-server view NO_BAD_SNMP iso included
snmp-server view NO_BAD_SNMP internet included
snmp-server view NO_BAD_SNMP snmpUsmMIB excluded
snmp-server view NO_BAD_SNMP snmpVacmMIB excluded
snmp-server view NO_BAD_SNMP snmpCommunityMIB excluded
snmp-server view NO_BAD_SNMP ciscoMgmt.252 excluded
!End Standard View
!Advisory Specific Mappings
!ADSL-LINE-MIB
snmp-server view NO_BAD_SNMP transmission.94 excluded
!TN3270E-RT-MIB
snmp-server view NO_BAD_SNMP mib-2.34.9 excluded
!CISCO-BSTUN-MIB
snmp-server view NO_BAD_SNMP ciscoMgmt.35 excluded
!ALPS-MIB
snmp-server view NO_BAD_SNMP ciscoMgmt.95 excluded
!CISCO-ADSL-DMT-LINE-MIB
snmp-server view NO_BAD_SNMP ciscoMgmt.130 excluded
!CISCO-VOICE-DNIS-MIB
snmp-server view NO_BAD_SNMP ciscoMgmt.219 excluded
!CISCO-SLB-EXT-MIB
snmp-server view NO_BAD_SNMP ciscoMgmt.254 excluded
!CISCO-MAC-AUTH-BYPASS-MIB
snmp-server view NO_BAD_SNMP ciscoMabMIB excluded
!CISCO-VOICE-NUMBER-EXPANSION-MIB
snmp-server view NO_BAD_SNMP ciscoExperiment.997 excludedTo then apply this configuration to a community string, administrators can use the following command:
snmp-server community mycomm view NO_BAD_SNMP RO
For SNMP Version 3, administrators can use the following command:
snmp-server group v3group auth read NO_BAD_SNMP write NO_BAD_SNMP
-
Cisco has released free software updates that address the vulnerabilities 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:
http://www.cisco.com/en/US/docs/general/warranty/English/EU1KEN_.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 and Alerts 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:
http://www.cisco.com/en/US/support/tsd_cisco_worldwide_contacts.htmlCustomers 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 a tool, the Cisco IOS Software Checker, that identifies 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 this tool to perform the following tasks:
- Initiate a search by choosing one or more releases from a drop-down menu or uploading a file from a local system for the tool to parse
- Enter the output of the show version command for the tool to parse
- Create a custom search by including all previously published Cisco Security Advisories, a specific advisory, or all advisories in the most recent bundled publication
To determine whether a release is affected by any published Cisco Security Advisory, use the Cisco IOS Software Checker on Cisco.com or enter a Cisco IOS Software or Cisco IOS XE Software release-for example, 15.1(4)M2 or 3.1.4S-in the following field:
For a mapping of Cisco IOS XE Software releases to Cisco IOS Software releases, refer to the Cisco IOS XE 2 Release Notes, Cisco IOS XE 3S Release Notes, or Cisco IOS XE 3SG Release Notes, depending on the Cisco IOS XE Software release.
-
At the time of initial publication, Cisco was aware of external knowledge of the vulnerabilities described in this advisory and, as a precaution, notified customers about the potential for exploitation.
On January 6, 2017, a security researcher published functional exploit code for these vulnerabilities.
The Cisco Product Security Incident Response Team (PSIRT) is aware of exploitation of the following vulnerabilities that are described in this advisory:
- CVE-2017-6736
- CVE-2017-6737
- CVE-2017-6738
- CVE-2017-6739
- CVE-2017-6740
- CVE-2017-6742
- CVE-2017-6743
- CVE-2017-6744
The Cisco PSIRT is aware of exploit code available for CVE-2017-6741.
Additional information can be found at Cisco TALOS: DNS Hijacking Abuses Trust In Core Internet Service.
-
These vulnerabilities were found during internal testing.
-
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.10 Updated to further clarify that these vulnerabilities only impact software prior to first fixed releases. Vulnerable Products Final 2023-APR-21 1.9 Updated to clarify vulnerable products. Vulnerable Products Final 2023-APR-19 1.8 Updated the Exploitation and Public Announcements section to clarify CVEs targeted by public exploitation. Exploitation and Public Announcements Final 2023-APR-17 1.7 Updated the Exploitation and Public Announcements section with information on public exploitation. Exploitation and Public Announcements Final 2019-APR-17 1.6 Added information about public exploit availability. Exploitation and Public Announcements Final 2018-JAN-11 1.5 Re-added Cisco Bug ID CSCve60507 to bug list. Cisco Bug IDs Interim 2017-JUL-22 1.4 Indicated that fixed software is available. Added links to the Cisco IOS Software Checker. Summary, Fixed Software Interim 2017-JUL-12 1.3 Added OVAL definitions. Header Interim 2017-JUL-07 1.2 Added statement regarding fixed software and workarounds to the Summary section. Removed information regarding the Cisco IOS Software Checker. The tool is currently experiencing issues and returning inconsistent results to customer queries. Summary, Fixed Software Interim 2017-JUL-06 1.1 Added Statement to Vulnerable Products to indicate that all affected MIBs are enabled by default on affected versions and hardware configurations if SNMP is enabled. Updated information in Vulnerable Products to indicate that the 'show snmp mib' command was insufficient to determine if a device is affected. Added comments to the Workaround configuration commands to document which exclusions tie to the vulnerable MIBs. Vulnerable Products, Workarounds Interim 2017-JUL-03 1.0 Initial public release. - Interim 2017-JUN-29
-
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.