Home > ASA Remote Code Execution and Denial of Service Vulnerability
UPDATED 2/5/2018: After further investigation, Cisco has identified additional attack vectors and features that are affected by this vulnerability. In addition, it was also found that the original fix was incomplete so new fixed code versions are now available. Please see the Fixed Software section for more information.
A vulnerability in the XML parser of Cisco Adaptive Security Appliance (ASA) Software could allow an unauthenticated, remote attacker to cause a reload of the affected system or to remotely execute code. It was also possible that the ASA could stop processing incoming Virtual Private Network (VPN) authentication requests due to a low memory condition.
The vulnerability is due to an issue with allocating and freeing memory when processing a malicious XML payload. An attacker could exploit this vulnerability by sending a crafted XML packet to a vulnerable interface on an affected system. An exploit could allow the attacker to execute arbitrary code and obtain full control of the system, cause a reload of the affected device or stop processing of incoming VPN authentication requests.
To be vulnerable the ASA must have Secure Socket Layer (SSL) services or IKEv2 Remote Access VPN services enabled on an interface. The risk of the vulnerability being exploited also depends on the accessibility of the interface to the attacker. For a comprehensive list of vulnerable ASA features please refer to the table in the Vulnerable Products section.
Cisco has released software updates that address this vulnerability. There are no workarounds that address all the features that are affected by this vulnerability.
This advisory is available at the following link:
This vulnerability affects Cisco ASA Software that is running on the following Cisco products:
3000 Series Industrial Security Appliance (ISA)
ASA 5500 Series Adaptive Security Appliances
ASA 5500-X Series Next-Generation Firewalls
ASA Services Module for Cisco Catalyst 6500 Series Switches and Cisco 7600 Series Routers
ASA 1000V Cloud Firewall
Adaptive Security Virtual Appliance (ASAv)
Firepower 2100 Series Security Appliance
Firepower 4110 Security Appliance
Firepower 4120 Security Appliance
Firepower 4140 Security Appliance
Firepower 4150 Security Appliance
Firepower 9300 ASA Security Module
Firepower Threat Defense Software (FTD)
In the following table, the left column lists the vulnerable Cisco ASA features. The right column indicates the vulnerable configuration from the CLI command show running-config, if it can be determined.
Feature Vulnerable Configuration
Adaptive Security Device Manager (ASDM)1
http server enable <port>
http <remote_ip_address> <remote_subnet_mask> <interface_name>
AnyConnect IKEv2 Remote Access (with client services)
crypto ikev2 enable <interface_name> client-services port <port #>
AnyConnect IKEv2 Remote Access (without client services)
crypto ikev2 enable <interface_name>
AnyConnect SSL VPN webvpn
Cisco Security Manager2
http server enable <port>
http <remote_ip_address> <remote_subnet_mask> <interface_name>
Clientless SSL VPN webvpn
Cut-Through Proxy (Not vulnerable unless used in conjunction with other vulnerable features on the same port)
aaa authentication listener <interface_name> port <number>
Local Certificate Authority (CA)
crypto ca server
Mobile Device Manager (MDM) Proxy3
Mobile User Security (MUS) webvpn
mus password <password>
mus host <hostname>
mus <address > <mask > <interface_name>
REST API4rest-api image disk0:/<image name>
Security Assertion Markup Language (SAML) Single Sign-On (SSO)5N/A
1ASDM is vulnerable only from an IP address in the configured http command range.
2 Cisco Security Manager is vulnerable only from an IP address in the configured http command range.
3The MDM Proxy is first supported as of software release 9.3.1.
4The REST API is first supported as of software release 9.3.2. The REST API is vulnerable only from an IP address in the configured http command range.
5SAML SSO is first supported as of software release 9.6.
The customer can also use the show asp table socket | include SSL|DTLS command and look for an SSL or a DTLS listen socket on any TCP port. If either socket is present in the output and the ASA device is configured for one or more of the ASA features in the above table, the device is considered vulnerable. The following example shows an ASA device with SSL and DTLS listen sockets:
ciscoasa# show asp table socket | include SSL|DTLS
SSL 00185038 LISTEN 172.16.0.250:443 0.0.0.0:*
SSL 00188638 LISTEN 10.0.0.250:443 0.0.0.0:*
DTLS 0018f7a8 LISTEN 10.0.0.250:443 0.0.0.0:*
The customer can also check the show asp table socket stats protocol ssl command to list the underlying SSL system statistics. The SSL statistics indicate the number of each type of message received and is further verification that the ASA device is vulnerable.
ciscoasa# show asp table socket stats protocol ssl
NP SSL System Stats:
Handshake Started: 83
Handshake Complete: 60
SSL Open: 7
SSL Close: 285
SSL Server: 84
SSL Server Verify: 0
SSL Client: 0
Note: While certain IKEv2 feature sets do not enable the underlying SSL TCP listening socket, they may still be vulnerable. Customers can use the CLI command show running-config crypto ikev2 to check if the configuration command crypto ikev2 enable is present in the configuration.
ciscoasa# show running-config crypto ikev2 | include enable
crypto ikev2 enable Outside
If a command like crypto ikev2 enable is present in the running configuration and the command anyconnect enable is part of the global webvpn configuration, the ASA device is also considered vulnerable.
Determining the ASA Running Software Release
To determine whether a vulnerable release of Cisco ASA Software is running on a device, administrators can use the show version command in the CLI. The following example shows the output of the command for a device that is running Cisco ASA Software Release 9.2(1):
ciscoasa# show version | include Version
Cisco Adaptive Security Appliance Software Version 9.2(1)
Device Manager Version 7.4(1)
Customers who use Cisco Adaptive Security Device Manager (ASDM) to manage devices can locate the software release in the table that appears in the login window or the upper-left corner of the Cisco ASDM window.
This vulnerability applies to all FTD releases before the first fixed software release. The FTD release contains both Firepower and ASA code. Please review the Firepower Threat Defense Devices section in the Cisco Firepower Compatibility Guide for additional information.
Determining the Running FTD Software Release
Administrators can use the show version command in the CLI to determine the FTD release. In this example, the device is running software release 6.2.2:
> show version
---------------------[ ftd ]---------------------
Model : Cisco ASA5525-X Threat Defense (75) Version 6.2.2 (Build 362)
UUID : 2849ba3c-ecb8-11e6-98ca-b9fc2975893c
Rules update version : 2017-03-15-001-vrt
VDB version : 279
Products Confirmed Not Vulnerable
Cisco has confirmed that the AnyConnect Secure Mobility Client is not vulnerable.
No other Cisco products are currently known to be affected by this vulnerability.
There are no workarounds that address all the features that are affected by this vulnerability. The management access to the security appliance can be restricted to known, trusted hosts using the CLI command http <remote_ip_address> <remote_subnet_mask> <interface_name>. Please refer to the Enable HTTP Service section in the Cisco Guide to Harden Cisco ASA Firewall for further information.
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: http://www.cisco.com/en/US/docs/general/warranty/English/EU1KEN_.html
Additionally, 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 upgrade 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.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.
Please see vulnerability on the Cisco website (https://tools.cisco.com/security/center/content/CiscoSecurityAdvisory/cisco-sa-20180129-asa1) for all fixed releases.