CVE-2018-0101: Cisco ASA WebVPN is affected by a serious flaw

Cisco released security updates to address a critical security vulnerability in Cisco ASA software.

UPDATED 2/5/2018

Cisco updated previous advisory:

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.


A flaw in the SSL VPN functionality of CISCOs Adaptive Security Appliance (ASA), could lead to an unauthorised attacker causing a reload of affected systems, or to remotely execute arbitrary code and take control of the device.

The vulnerability was discovered by the researcher Cedric Halbronn from NCC Group: he will disclose technical details on February 2 at the Recon Brussels 2018 conference.

The vulnerability, tracked as CVE-2018-0101 and rated (by Cisco) with a CVSS score of 10, is due to an attempt to ‘double free’ a region of memory when the WebVPN feature is enabled on Cisco ASA devices.


What is ‘Double Free’?

‘Double Free’ is one of the most common memory corruption errors usually found in an application, and is caused by freeing same memory location twice by calling free() on the same allocated memory.

From OWASP:

Double free errors occur when free() is called more than once with the same memory address as an argument.

Calling free() twice on the same value can lead to memory leak. When a program calls free() twice with the same argument, the program’s memory management data structures become corrupted and could allow a malicious user to write values in arbitrary memory spaces. This corruption can cause the program to crash or, in some circumstances, alter the execution flow. By overwriting particular registers or memory spaces, an attacker can trick the program into executing code of his/her own choosing, often resulting in an interactive shell with elevated permissions.

 

An attacker could exploit this vulnerability by sending multiple, crafted XML packets to a WebVPN-configured interface on an affected system. From CISCO advisory:

remote attacker to cause a reload of the affected system or to remotely execute code.

The exploit would thus allow the attacker to execute arbitrary code and obtain control of the system, or cause a reload of the affected device.

Luckily, at this time there have been no proven exploits of this vulnerability in the wild.


Affected Products (updated)

This vulnerability affects Cisco ASA Software running on the following 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)
  • FTD Virtual

This vulnerability affects devices where the WebVPN feature is enabled.


How can I check if my system is vulnerable?

To determine whether webvpn is enabled, administrators can use the show running-config webvpn command at the CLI and verify that the command returns output:

ciscoasa# show running-config webvpn
webvpn
 enable Outside

Further information on determining ASA running software can be found at the Cisco Advisory


What should I do?

What kind of question is that?

Patch! Patch ASAP!

Cisco ASA Major Release  First Fixed Release 
8.x1 Affected; migrate to 9.1.7.20 or later
9.01 Affected; migrate to 9.1.7.20 or later
9.1 9.1.7.20
9.2 9.2.4.25
9.31 Affected; migrate to 9.4.4.14 or later
9.4 9.4.4.14
9.51 Affected; migrate to 9.6.3.20 or later
9.6 9.6.3.20
9.7 9.7.1.16
9.8 9.8.2.14
9.9 9.9.1.2

References

Comments

This site uses Akismet to reduce spam. Learn how your comment data is processed.