CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:C/C:N/I:N/A:H/E:X/RL:X/RC:X
-
A vulnerability in the FTP application layer gateway (ALG) functionality used by Network Address Translation (NAT), NAT IPv6 to IPv4 (NAT64), and the Zone-Based Policy Firewall (ZBFW) in Cisco IOS XE Software could allow an unauthenticated, remote attacker to cause an affected device to reload.
The vulnerability is due to a buffer overflow that occurs when an affected device inspects certain FTP traffic. An attacker could exploit this vulnerability by performing a specific FTP transfer through the device. A successful exploit could allow the attacker to cause the device to reload.
Cisco has released software updates that address this vulnerability. There are workarounds that address this vulnerability.
This advisory is available at the following link:
https://sec.cloudapps.cisco.com/security/center/content/CiscoSecurityAdvisory/cisco-sa-20190925-ftpThis advisory is part of the September 25, 2019, release of the Cisco IOS and IOS XE Software Security Advisory Bundled Publication, which includes 12 Cisco Security Advisories that describe 13 vulnerabilities. For a complete list of the advisories and links to them, see Cisco Event Response: September 2019 Semiannual Cisco IOS and IOS XE Software Security Advisory Bundled Publication.
-
Vulnerable Products
This vulnerability affects devices if they are running a vulnerable release of Cisco IOS XE Software and they are configured with NAT, NAT64, or ZBFW with FTP inspection enabled.
For more information about which Cisco IOS XE Software releases are vulnerable, see the Fixed Software section of this advisory.
Note: This vulnerability can be triggered by traffic that transits an affected device and is inspected by the ALG function. This vulnerability can also be triggered by traffic that is destined to an affected device if the ZBFW is configured to inspect FTP traffic for the self zone.
Determine Whether NAT Is Configured
To assess whether a device is configured to perform NAT, administrators can determine whether NAT is active on the device (preferred) or whether NAT commands are present in the device configuration.
To determine whether NAT is active on a device, administrators can log in to the device and use the show ip nat statistics command in the CLI. If NAT is active, the Outside interfaces and Inside interfaces sections of the command output will include at least one interface.
The following example shows the output of the show ip nat statistics command for a device on which NAT is active:
Router#show ip nat statistics Total active translations: 0 (0 static, 0 dynamic; 0 extended) Peak translations: 10, occurred 00:24:01 ago Outside interfaces: FastEthernet0/0 Inside interfaces: FastEthernet0/1 Hits: 134280 Misses: 0 CEF Translated packets: 134270, CEF Punted packets: 10 Expired translations: 11 Dynamic mappings: -- Inside Source [Id: 1] access-list NET-192.168.20.0_24 pool POOL-NET-192.168.1.0_24 refcount 0 pool POOL-NET-192.168.1.0_24: netmask 255.255.255.0 start 192.168.1.120 end 192.168.1.128 type generic, total addresses 9, allocated 0 (0%), misses 0 Total doors: 0 Appl doors: 0 Normal doors: 0 Queued Packets: 0 Router#
If the output of the show ip nat statistics command does not list any interfaces, NAT is not active on the device.
Alternatively, administrators can determine whether NAT is active on a device by issuing the show running-config command in the CLI and assessing whether NAT commands are present in the device configuration. If NAT is active on the device, the output of the show running-config command will include the ip nat inside and ip nat outside interface commands.
Determine Whether the NAT ALG Function Is Enabled for FTP
By default, the NAT ALG function is enabled for FTP and the function does not appear in the running configuration information for a device.
To determine whether a device is configured with NAT ALG for FTP, administrators can log in to the device and use the show running-config | include ip nat service ftp command in the CLI. If the command output shows the ip nat service ftp command with no preceding it, the NAT ALG is disabled for FTP. The following example demonstrates this condition:Router#show running-config | include ip nat service ftp no ip nat service ftp Router#
If there is no output for the show running-config | include ip nat service ftp command, the NAT ALG is enabled with FTP.
Determine Whether NAT64 Is Configured
To assess whether a device is configured to perform NAT64, administrators can determine whether NAT64 is active on the device (preferred) or whether NAT64 commands are present in the device configuration.
To determine whether NAT64 is active on a device, administrators can log in to the device and use the show nat64 statistics command in the CLI. If NAT64 is active, the Interface Statistics sections of the command output will include at least one interface.
The following example shows the output of the show nat64 statistics command for a device on which NAT64 is active:
Router#show nat64 statistics NAT64 Statistics Total active translations: 2 (1 static, 1 dynamic; 1 extended) Sessions found: 155 Sessions created: 1 Expired translations: 0 Global Stats: Packets translated (IPv4 -> IPv6) Stateless: 0 Stateful: 81 MAP-T: 0 Packets translated (IPv6 -> IPv4) Stateless: 0 Stateful: 75 MAP-T: 0 Interface Statistics GigabitEthernet1 (IPv4 not configured, IPv6 configured): Packets translated (IPv4 -> IPv6) Stateless: 0 Stateful: 0 MAP-T: 0 Packets translated (IPv6 -> IPv4) Stateless: 0 Stateful: 75 MAP-T: 0 Packets dropped: 0 GigabitEthernet2 (IPv4 configured, IPv6 not configured): Packets translated (IPv4 -> IPv6) Stateless: 0 Stateful: 81 MAP-T: 0 Packets translated (IPv6 -> IPv4) Stateless: 0 Stateful: 0 MAP-T: 0 Packets dropped: 0 Dynamic Mapping Statistics v6v4 Limit Statistics
If the output of the show nat64 statistics command does not list any interfaces, NAT64 is not active on the device.
Alternatively, administrators can determine whether NAT64 is active on a device by issuing the show running-config command in the CLI and assessing whether NAT64 commands are present in the device configuration. If NAT64 is active on the device, the output of the show running-config command will include the nat64 enable interface commands.
Determine Whether the NAT64 ALG Function Is Enabled for FTP
By default, the NAT64 ALG function is enabled for FTP and the function does not appear in the running configuration information for a device.
To determine whether a device is configured with NAT64 ALG for FTP, administrators can log in to the device and use the show running-config | include nat64 service ftp command in the CLI. If the command output shows the nat64 service ftp command with no preceding it, the NAT64 ALG is disabled for FTP. The following example demonstrates this condition:
Router#show running-config | include nat64 service ftp no nat64 service ftp Router#
If there is no output for the show running-config | include nat64 service ftp command, the NAT64 ALG is enabled with FTP.
Determine Whether a Zone-Based Policy Firewall Is Configured
To assess whether a device is configured with a ZBFW, administrators can log in to the device and use the show zone security command in the CLI. If the command output shows a member interface under a zone name, the device is vulnerable.
The following example shows the output of the command for a device that has ZBFW rules configured on both the GigabitEthernet0/0 and GigabitEthernet0/1 member interfaces:
Router#show zone security
zone self
Description: System defined zone
zone inside
Description: *** Inside Network ***
Member Interfaces:
GigabitEthernet0/0
zone outside
Description: *** Outside Network ***
Member Interfaces:
GigabitEthernet0/1
Router#Determine Whether the ZBFW ALG Function Is Inspecting FTP
By default, the ZBFW ALG is disabled for FTP.
If the ZBFW ALG function has been configured with no protocol defined for the class being inspected, the ZBFW ALG function defaults to inspecting all protocols. A device with this configuration is vulnerable.
The device is also vulnerable if the ZBFW ALG function is configured to inspect FTP, FTPS, or both. To determine the status of the ZBFW ALG function for FTP, administrators can log in to the device and use the show policy-map type inspect zone-pair | include Match: protocol ftp command in the CLI to determine whether FTP inspection has been explicitly configured. If the output returns a match on ftp or ftps, the device is vulnerable. The following example demonstrates this condition:
Router#show policy-map type inspect zone-pair | include Match: protocol ftp Match: protocol ftp Match: protocol ftps
Products 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 Cisco IOS Software, Cisco IOS XR Software, or Cisco NX-OS Software.
-
As a workaround, administrators can disable the FTP ALG function by using the following commands on an affected device until a software upgrade is performed:
- To disable the use of NAT ALG for FTP, administrators can use the no ip nat service ftp command in global configuration mode.
- To disable the use of NAT64 ALG for FTP, administrators can use the no nat64 service ftp command in global configuration mode.
- To disable the use of FTP inspection in the ZBFW, remove the commands match protocol ftp and match protocol ftps from the inspection class map.
Note: Disable the FTP ALG function only if it is not required in the environment. Disabling FTP ALG will prevent FTP transactions through the device from working properly.
-
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 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:
https://www.cisco.com/c/en/us/support/web/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 list 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 or IOS XE Software release—for example, 15.1(4)M2 or 3.13.8S—in the following field:
By default, the Cisco IOS Software Checker includes results only for vulnerabilities that have a Critical or High Security Impact Rating (SIR). To include results for Medium SIR vulnerabilities, use the Cisco IOS Software Checker on Cisco.com and check the Medium check box in the Impact Rating drop-down list.
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.
-
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 the resolution of a Cisco TAC support case.
-
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.1 Described configuration that causes the ZBFW ALG function to inspect all protocols. Vulnerable Products Final 2019-November-20 1.0 Initial public release. — Final 2019-September-25
-
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.