Cisco IOS and IOS XE Software EnergyWise Denial of Service Vulnerabilities

CVE Numbers :-

CVE-2017-3860
CVE-2017-3861
CVE-2017-3862
CVE-2017-3863

Multiple vulnerabilities in the EnergyWise module of Cisco IOS and Cisco IOS XE Software could allow an unauthenticated, remote attacker to cause a buffer overflow condition or a reload of an affected device, leading to a denial of service (DoS) condition.

These vulnerabilities are due to improper parsing of crafted EnergyWise packets destined to an affected device. An attacker could exploit these vulnerabilities by sending crafted EnergyWise packets to be processed by an affected device. An exploit could allow the attacker to cause a buffer overflow condition or a reload of the affected device, leading to a DoS condition.

Cisco has released software updates that address these vulnerabilities. There are no workarounds that address these vulnerabilities.

This advisory is available at the following link:
https://tools.cisco.com/security/center/content/CiscoSecurityAdvisory/cisco-sa-20170419-energywise

Affected Products
  • Cisco EnergyWise began as a Cisco IOS Software–based protocol used to measure and control the energy use of an enterprise IT network.

    In a Cisco EnergyWise network, EnergyWise monitors and manages the power usage of powered devices in a domain, including Cisco networking devices, Power over Ethernet (PoE) endpoints, and endpoints running agents built using the software development kit (SDK).

    Vulnerable Products

    Cisco devices that are running an affected release of Cisco IOS or Cisco IOS XE Software and configured for EnergyWise operation are affected by these vulnerabilities. For information about which Cisco IOS and Cisco IOS XE Software releases are vulnerable, see the Fixed Softwaresection of this advisory.

    Cisco IOS Software and Cisco IOS XE Software support EnergyWise for IPv4 communication. Only IPv4 packets destined to a device configured as an EnergyWise domain member can trigger these vulnerabilities. IPv6 packets cannot be used to trigger these vulnerabilities.

    An attacker could exploit these vulnerabilities by using IPv4 packets sent on TCP or UDP port 43440. An exploit could cause a buffer overflow condition or cause the software to reload, leading to a DoS condition.

    The EnergyWise feature is not enabled by default on Cisco IOS and Cisco IOS XE devices.

    To determine whether a Cisco IOS device is configured with EnergyWise, use the show run | include energywise command. The following example is the output of the show run | include energywise command on a Cisco IOS device. In the example, the device has the domain configuration, which is the minimum EnergyWise configuration needed to enable its operation. The device may display a different response if additional EnergyWise features have been enabled.

    Router# show run | include energywise
      energywise domain test_domain security shared-secret 0 test123

    Determining the Cisco IOS Software Release

    To determine which Cisco IOS Software release is running on a device, administrators can log in to the device, use the show version command in the CLI, and then refer to the system banner that appears. If the device is running Cisco IOS Software, the system banner displays text similar to Cisco Internetwork Operating System Software or Cisco IOS Software. The banner also displays the installed image name in parentheses, followed by the Cisco IOS Software release number and release name. Some Cisco devices do not support the show version command or may provide different output.

    The following example shows the output of the command for a device that is running Cisco IOS Software Release 15.5(2)T1 and has an installed image name of C2951-UNIVERSALK9-M:

    Router> show version
    
    Cisco IOS Software, C2951 Software (C2951-UNIVERSALK9-M), Version 15.5(2)T1, RELEASE SOFTWARE (fc1)
    Technical Support: http://www.cisco.com/techsupport
    Copyright (c) 1986-2015 by Cisco Systems, Inc.
    Compiled Mon 22-Jun-15 09:32 by prod_rel_team
    .
    .
    .

    For information about the naming and numbering conventions for Cisco IOS Software releases, see White Paper: Cisco IOS and NX-OS Software Reference Guide.

    Determining the Cisco IOS XE Software Release

    To determine which Cisco IOS XE Software release is running on a device, administrators can log in to the device, use the show version command in the CLI, and then refer to the system banner that appears. If the device is running Cisco IOS XE Software, the system banner displays Cisco IOS SoftwareCisco IOS XE Software, or similar text.

    The following example shows the output of the command for a device that is running Cisco IOS XE Software Release 16.2.1 and has an installed image name of CAT3K_CAA-UNIVERSALK9-M:

    ios-xe-device# show version
    
    Cisco IOS Software, Catalyst L3 Switch Software (CAT3K_CAA-UNIVERSALK9-M), Version Denali 16.2.1, RELEASE SOFTWARE (fc1)
    Technical Support: http://www.cisco.com/techsupport
    Copyright (c) 1986-2016 by Cisco Systems, Inc.
    Compiled Sun 27-Mar-16 21:47 by mcpre
    .
    .
    .

    For information about the naming and numbering conventions for Cisco IOS XE Software releases, see White Paper: Cisco IOS and NX-OS Software Reference Guide.

    Products Confirmed Not Vulnerable

    No other Cisco products are currently known to be affected by these vulnerabilities.

    Products and services included in the Cisco EnergyWise Suite, formerly known as JouleX Energy Manager solutions, are not affected by these vulnerabilities.

    Cisco EnergyWise Management for Data Center, Cisco EnergyWise Management for Distributed Office, Cisco EnergyWise Discovery Service, and Cisco EnergyWise Optimization Service are not affected by these vulnerabilities.

    Cisco has confirmed that these vulnerabilities do not affect Cisco IOS XR Software or Cisco NX-OS Software.

Details
  • Protocol and Port Details

    Cisco EnergyWise domain members communicate with other EnergyWise-enabled devices over three independent communication channels:

    • Cisco Discovery Protocol or UDP messages for neighbor discovery
    • TCP packets for management applications
    • TCP packets for control messages sent to EnergyWise-enabled endpoints


    Cisco Discovery Protocol or UDP Messages

    Cisco EnergyWise domain members use Cisco Discovery Protocol when it is enabled or EnergyWise UDP messages to automatically discover neighbors. By default, UDP port 43440 is enabled on an EnergyWise domain member.

    Neighbor discovery packets can be used to exploit these vulnerabilities only when the packets are sent on UDP port 43440.

    Note: You have the option to change the UDP port number that the EnergyWise device will listen to by using the energywise domain domain-name security shared-secret 0 secret protocol udp [portudp-port-number] command.

    TCP Packets for Management Applications

    A domain member may also have a management port configured for the Cisco EnergyWise management API (MAPI). Applications that use the MAPI can connect to the management port configured on a domain member and use that port for communication between the management workstation and domain members.

    The management port is not enabled by default. Administrators can configure this option with the energywise management security shared-secret 0 shared-secret command. The configuration defaults to TCP port 43440.

    If a management port is configured, management packets sent on TCP port 43440 can be used to exploit these vulnerabilities.

    Note: You have the option to change the TCP port number that the EnergyWise device will listen to for management communication by using the energywise management security shared-secret 0shared-secret [port tcp-port-number] command. The default is TCP port 43440.

    TCP Packets for Control Messages




    Cisco EnergyWise domain members can also be configured to send queries and control messages to PoE endpoints and endpoints running agents built using the SDK.

    Domain members and endpoints receive power from an AC or DC power source or a power supply. PoE domain members and endpoints also receive power from PoE switches or Cisco EtherSwitch service modules.

    The Cisco EnergyWise domain member can be configured to communicate with endpoints with the following configuration command: energywise endpoint security shared-secret.

    If configured, EnergyWise endpoint communication uses TCP port 43440. EnergyWise endpoint communication is not enabled by default.

    If EnergyWise endpoint communication is configured, packets from endpoints sent on TCP port 43440 can be used to exploit these vulnerabilities.

    Note: EnergyWise domain members configured for endpoint communication listen on the same TCP socket used for management. If EnergyWise management functionality is not configured, the default TCP port used for endpoint communication cannot be changed.

Indicators of Compromise
  • Exploitation of any of these vulnerabilities will cause an affected device to reload and generate a crashinfo file. Contact the Cisco Technical Assistance Center (TAC) to review the file and determine whether the device has been compromised by exploitation of these vulnerabilities.

Workarounds
  • There are no workarounds that address these vulnerabilities. 
Fixed Software
  • Cisco has released free software updates that address the vulnerabilities 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.

    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 menu 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 Software or Cisco IOS XE Software release—for example, 15.1(4)M2 or 3.13.8S—in the following field:

     

    For a mapping of Cisco IOS XE Software releases to Cisco IOS Software releases, refer to the Cisco IOS XE 2 Release NotesCisco 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 vulnerabilities that are described in this advisory.

Source
  • These vulnerabilities were found during internal system security testing.




Duncan Newell

Duncan is a technology professional with over 20 years experience of working in various IT roles. He has a interest in cyber security, and has a wide range of other skills in radio, electronics and telecommunications.

Leave a Reply

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

%d bloggers like this: