Wednesday, August 28, 2019

Cisco REST API Container for IOS XE Software Authentication Bypass Vulnerability

Critical
Advisory ID:
cisco-sa-20190828-iosxe-rest-auth-bypass
First Published:
2019 August 28 16:00 GMT
Version 1.0:
Workarounds:
No workarounds available
Cisco Bug IDs:
CVE-2019-12643
CWE-287
CVSS Score:
Base 10.0Click Icon to Copy Verbose Score
CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H/E:X/RL:X/RC:X
CVE-2019-12643
CWE-287

Summary

  • A vulnerability in the Cisco REST API virtual service container for Cisco IOS XE Software could allow an unauthenticated, remote attacker to bypass authentication on the managed Cisco IOS XE device.

    The vulnerability is due to an improper check performed by the area of code that manages the REST API authentication service. An attacker could exploit this vulnerability by submitting malicious HTTP requests to the targeted device. A successful exploit could allow the attacker to obtain the token-id of an authenticated user. This token-id could be used to bypass authentication and execute privileged actions through the interface of the REST API virtual service container on the affected Cisco IOS XE device.

    The REST API interface is not enabled by default and must be installed and activated separately on IOS XE devices. See the Details section for more information.

    Cisco has released software updates that address this vulnerability. There are no workarounds that address this vulnerability.

    This advisory is available at the following link:
    https://tools.cisco.com/security/center/content/CiscoSecurityAdvisory/cisco-sa-20190828-iosxe-rest-auth-bypass

Affected Products

  • This vulnerability affects Cisco devices that are configured to use a vulnerable version of Cisco REST API virtual service container. At the time of publication, this vulnerability affected the following products:

    • Cisco 4000 Series Integrated Services Routers
    • Cisco ASR 1000 Series Aggregation Services Routers
    • Cisco Cloud Services Router 1000V Series
    • Cisco Integrated Services Virtual Router

    Vulnerable Products

    This vulnerability resides in the Cisco REST API virtual service container; however, it affects devices running Cisco IOS XE Software when exploited. If a vulnerable release of the Cisco REST API virtual service container is enabled, the underlying Cisco IOS XE device is affected.

    This vulnerability affects Cisco devices when all of the following conditions are met:

    • The device runs an affected Cisco IOS XE Software release.
    • The device has an installed and enabled affected version of the Cisco REST API virtual service container.

    Cisco has released a fixed version of the REST API virtual service container. Cisco has also released a hardened Cisco IOS XE Software release that prevents installation or activation of a vulnerable container on a device. If the device was already configured with an active vulnerable container, the IOS XE Software upgrade will deactivate the container, making the device not vulnerable. In that case, to restore the REST API functionality, customers should upgrade the Cisco REST API virtual service container to a fixed software release.

    Determine If the Cisco REST API Virtual Service Container Is Enabled on the Device

    To determine whether the Cisco REST API service container is enabled on the device, administrators can use the show virtual-service detail | include Restful privileged EXEC command and refer to the output of the command. The following example shows the output of the command for a device that has the REST API management enabled:

    router#show virtual-service detail | include Restful
    
    Restful API Enabled, UP port: 55443
    

    If this command does not exist, produces an empty output, or if the string Enabled, UP is absent, the device is not affected by the vulnerability described in this advisory.

    Determine If the Device Is Using an Affected Cisco REST API Virtual Service Container Release

    To determine the Cisco REST API virtual service container name and software version, administrators can use the show virtual-service version installed privileged EXEC command.

    The following example shows the output of the command for a device that has installed a Cisco REST API virtual service container:

    router#show virtual-service version installed Virtual service csr_mgmt installed version: Name: csr_mgmt Version: 16.09.03
    

    If the output of this command shows a combination of virtual service name and version listed in the following table, the device is using a vulnerable REST API virtual service container.

    The following table lists the combination of name and software version of the Cisco REST API virtual service containers that are affected by the vulnerability that is described in this advisory.

    Name Version
    mgmt 1.4.1
    mgmt 1.5.1
    mgmt 1.6.1
    mgmt 1.7.1
    mgmt 1.7.2
    mgmt 1.8.1
    mgmt 162.1
    mgmt 99.99.99
    csr_mgmt 03.16.03
    csr_mgmt 03.16.04
    csr_mgmt 1.0.0
    csr_mgmt 1.2.1
    csr_mgmt 1.3.1
    csr_mgmt 1.4.1
    csr_mgmt 1.5.1
    csr_mgmt 1.6.1
    csr_mgmt 1.7.1
    csr_mgmt 1.8.1
    csr_mgmt 99.99.99
    csr_mgmt 2017.6
    csr_mgmt  2017.10
    csr_mgmt 162.1
    csr_mgmt 163.1

    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.

Details

  • The Cisco REST API is an application that runs in a virtual services container. A virtual services container is a virtualized environment on a device and is delivered as an open virtual application (OVA), which is a tar file with an .ova extension. The OVA package has to be installed and enabled on a device through the device virtualization manager (VMAN) CLI.

    The Cisco REST API provides a set of RESTful APIs as an alternative method to the Cisco IOS XE CLI to provision selected functions on Cisco devices. The REST API interface is not enabled by default. 

    This vulnerability can be exploited when the following conditions are met:

    • The device runs an affected Cisco IOS XE Software release.
    • The device has installed and enabled an affected version of the Cisco REST API virtual service container.
    • An authorized user with administrator credentials (level 15) is authenticated to the REST API interface.

    On Cisco IOS XE Software releases prior to 16.7.1, the Cisco REST API OVA package may be bundled within the Cisco IO XE Software image and included in the device storage memory at installation or upgrade time. However, the presence of a vulnerable OVA package doesn’t make the device vulnerable. To be vulnerable, the virtual services container must be installed and activated. Deleting the OVA package from the device storage memory removes the attack vector. If the Cisco REST API virtual service container is not enabled, this operation will not impact the device's normal operating conditions. 

Workarounds

  • There are no workarounds that address this vulnerability.

    Cisco Guide to Harden Cisco IOS Devices provides information about how to harden the device and secure management access. Administrators can configure an access-control list (ACL) to restrict access to the REST API interface to trusted networks. This action limits exposure to this vulnerability. To get the IP address and TCP port associated with the REST API interface, administrators can use the show virtual-service details CLI command.

Fixed Software

  • 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.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 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.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.

    Fixed Releases

    Cisco has addressed this vulnerability by releasing the following REST API virtual service container:

    iosxe-remote-mgmt.16.09.03.ova

    Cisco has also released an optional hardened IOS XE Software release.

    Impacted customers are recommended to upgrade both the REST API virtual service container and Cisco IOS XE Software.

    To upgrade the Cisco REST API virtual service container to a fixed release, customers can download the fixed OVA package from the Software Center on Cisco.com and follow these seven steps:

    1. Enter the copy from://source-directory-url destination-directory-url command in the CLI to download the new OVA package to the device for upgrade.

      The following example shows the CLI command used to download the OVA package from a tftp server to the device storage:

      router# copy tftp://myserver.com/downloads/iosxe-remote-mgmt.16.09.03.ova bootflash:/iosxe-remote-mgmt.16.09.03.ova
      
    2. Use the virtual-service virtual-services-name command in the global configuration mode to enter virtual services configuration mode to configure a specified virtual service container.

      The following example shows the CLI command used to enter virtual services configuration mode for a virtual service container named csr_mgmt:

      router(config)# virtual-service csr_mgmt
      

      Note: The virtual-services-name is defined during installation of a virtual service container. The user-defined virtual services name for the REST API services can be different from the REST API virtual service container name. Administrators can use the CLI command show virtual-service version installed to determine the user-defined virtual services name.

    3. Use the no activate command in global configuration mode to disable the REST API virtual service container:
      router(config-virt-serv)# no activate
      
    4. Use the end command to exit virtual services configuration mode and enter privileged EXEC mode:
      router(config-virt-serv)# end
      
    5. Use the CLI command virtual-service upgrade name virtual-services-name package file to upgrade the REST API virtual service container using the specified OVA file.

      The following example shows the CLI command used to upgrade the REST API virtual service container named csr_mgmt using the OVA file iosxe-remote mgmt.16.09.03.ova:

      Router# virtual-service upgrade name csr_mgmt package bootflash:/iosxe-remote-mgmt.16.09.03.ova
      

      Note: Run this command only after receiving a successful deactivation message from the device.

    6. Use the virtual-service  virtual-services-name command in global configuration mode to enter the virtual services configuration mode and configure a specified virtual service container.

      The following example shows the CLI command used to enter virtual services configuration mode for a virtual service container named csr_mgmt:

      router(config)# virtual-service csr_mgmt
      
    7. Use the activate command in global configuration mode to enable the REST API virtual container:
      router(config-virt-serv)# activate
      

    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.

Exploitation and Public Announcements

  • 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.

Source

  • This vulnerability was found during internal security testing.

Cisco Security Vulnerability Policy

  • 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.

Subscribe to Cisco Security Notifications

URL

Revision History

  • Version Description Section Status Date
    1.0 Initial public release. Final 2019-August-28
    Show Less

Cisco Security Vulnerability Policy

  • 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.

Subscribe to Cisco Security Notifications



from Cisco Security Advisory https://ift.tt/2ZAwbcl

No comments:

Post a Comment

Note: Only a member of this blog may post a comment.