-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

===========================================================================
             AUSCERT External Security Bulletin Redistribution

                               ESB-2019.3278
        Cisco REST API Container for IOS XE Software Authentication
                           Bypass Vulnerability
                              29 August 2019

===========================================================================

        AusCERT Security Bulletin Summary
        ---------------------------------

Product:           Cisco IOS XE
Publisher:         Cisco Systems
Operating System:  Cisco
Impact/Access:     Execute Arbitrary Code/Commands -- Remote/Unauthenticated
Resolution:        Patch/Upgrade
CVE Names:         CVE-2019-12643  

Original Bulletin: 
   https://tools.cisco.com/security/center/content/CiscoSecurityAdvisory/cisco-sa-20190828-iosxe-rest-auth-bypass

- --------------------------BEGIN INCLUDED TEXT--------------------

Cisco REST API Container for IOS XE Software Authentication Bypass
Vulnerability

Priority:        Critical
Advisory ID:     cisco-sa-20190828-iosxe-rest-auth-bypass
First Published: 2019 August 28 16:00 GMT
Version 1.0:     Final
Workarounds:     No workarounds available

Cisco Bug IDs:   CSCvn93524CSCvo47376

CVE-2019-12643   

CWE-287

CVSS Score:
10.0 AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H/E:X/RL:X/RC:X

Summary

  o 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

  o 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

  o 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

  o 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

  o 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:

    [                    ] [Check]

    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

  o 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

  o This vulnerability was found during internal security testing.

Cisco Security Vulnerability Policy

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

URL

  o https://tools.cisco.com/security/center/content/CiscoSecurityAdvisory/
    cisco-sa-20190828-iosxe-rest-auth-bypass

Revision History

  o +---------+--------------------------+---------+--------+-----------------+
    | Version |       Description        | Section | Status |      Date       |
    +---------+--------------------------+---------+--------+-----------------+
    | 1.0     | Initial public release.  | -       | Final  | 2019-August-28  |
    +---------+--------------------------+---------+--------+-----------------+

- --------------------------END INCLUDED TEXT--------------------

You have received this e-mail bulletin as a result of your organisation's
registration with AusCERT. The mailing list you are subscribed to is
maintained within your organisation, so if you do not wish to continue
receiving these bulletins you should contact your local IT manager. If
you do not know who that is, please send an email to auscert@auscert.org.au
and we will forward your request to the appropriate person.

NOTE: Third Party Rights
This security bulletin is provided as a service to AusCERT's members.  As
AusCERT did not write the document quoted above, AusCERT has had no control
over its content. The decision to follow or act on information or advice
contained in this security bulletin is the responsibility of each user or
organisation, and should be considered in accordance with your organisation's
site policies and procedures. AusCERT takes no responsibility for consequences
which may arise from following or acting on information or advice contained in
this security bulletin.

NOTE: This is only the original release of the security bulletin.  It may
not be updated when updates to the original are made.  If downloading at
a later date, it is recommended that the bulletin is retrieved directly
from the author's website to ensure that the information is still current.

Contact information for the authors of the original document is included
in the Security Bulletin above.  If you have any questions or need further
information, please contact them directly.

Previous advisories and external security bulletins can be retrieved from:

        https://www.auscert.org.au/bulletins/

===========================================================================
Australian Computer Emergency Response Team
The University of Queensland
Brisbane
Qld 4072

Internet Email: auscert@auscert.org.au
Facsimile:      (07) 3365 7031
Telephone:      (07) 3365 4417 (International: +61 7 3365 4417)
                AusCERT personnel answer during Queensland business hours
                which are GMT+10:00 (AEST).
                On call after hours for member emergencies only.
===========================================================================
-----BEGIN PGP SIGNATURE-----
Comment: http://www.auscert.org.au/render.html?it=1967

iQIVAwUBXWdM/2aOgq3Tt24GAQiu+RAA0VeWVoi+xqUG30EKhq0KpNa222Ju2v4P
C6yWkFctBM3XdVi5WFy4djUuiGnaJrZAOIr6vQiWMdKMRNe8pDUtU2dLDcP8y2MV
kmFIqV8a/Gm1zNwvQaktDpA1MUmR2D5/RfOZdeBVvEEjIbonQdJN50qhMFZI+xjC
KSAwJGZiOAgjq6+mEYK0V+hETCV6YjMYofbXHGXZcGomReemTcFEZr8t54lIYWTQ
uzYL69F54BW682oJlDMoKIUOEUURVcadbhoYW9ZhHEnUmwHtrsI9/yPrwi1+EXdd
sNRe3XOy53Bgvju4TDaaUpV95YLyd88SCk1x/yNTssharalRzUK5AfmnkEzhpXsw
fiABVhL+fsD+vWr/rmepvsdnq30bO/waKyk+th0HdHTUAOkeOIauuSLOJoqkCRcq
UH/Q2peoHLaCmUwAr6Y10l6S68aUy7uFS6vFdThXdUeNJjca9eBl8KJ7aFAPPLpi
FubOeA6tKSzbH2G4O0pf/RtZ5cAlvoplz630AXYQ5fLoQ1KyTqRWMo2+0jilkYRI
SEOYIkcHfoJuGnvjeaVmTJQcHJ4eMiXQbg29hLsP+/TGNoLkU/ASlNO63OZcMLSc
vQoxgg645AgIrmxdFUFwxJPE19Jz30kSzW/k7Li6iOfxowEsV6+klTdZr29a8/VE
B3UOS5nYjc8=
=Dpbl
-----END PGP SIGNATURE-----