Cisco had to take itself to the virtual woodshed this week as it issued a security advisory about the IOS XE operating system that is used by many of its hardware devices.
The advisory points out CVE-2019-12643, where the authentication flaw was assigned a severity score of 10 out of 10. You just don't see that kind of number a lot. They must mean it when they call this one critical.
For the full vulnerability to express itself, a vulnerable IOE instantiation must be running an outdated version of the IOE virtual service containers. It's a chain that they admit can bypass authentication.
Specifically, the vulnerability affects Cisco devices when all of the following conditions are met: (1)The device runs an affected Cisco IOS XE Software release and (2) the device has an installed and enabled affected version of the Cisco REST API virtual service container.
The advisory admits why it happened. "The vulnerability is due to an improper check performed by the area of code that manages the REST API authentication service," it said. "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."
Affected hardware devices include Cisco 4000 Series Integrated Services Routers, Cisco ASR 1000 Series Aggregation Services Routers, Cisco Cloud Services Router 1000V Series and Cisco Integrated Services Virtual Router.
Scott Caveza, research engineering manager at Tenable, comments that: "While the flaw is critical, it's important to note there are a number of requirements for successful exploitation, including the device has both installed and enabled an affected version of the Cisco REST API virtual service container. In addition, a user must be logged into the device in order to obtain the token-id."
The way out of this one is to patch. Yes, they did fix the code. You must have version 16.09.03 of the REST API virtual device container ("iosxe-remote-mgmt.16.09.03.ova") on board, which corrects the authentication bypass bug.
Cisco also took a smart proactive step in the IOS XE code by releasing a optional hardened version of XE that it had developed which will not allow installation or activation of a vulnerable-to-the-flaw container device. Cisco also says in the advisory that, "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."
That Cisco found it itself ("This vulnerability was found during internal security testing.") and that it was not known to have been exploited in the wild counts for something here. Just having to write the advisory was punishment enough.
— Larry Loeb has written for many of the last century's major "dead tree" computer magazines, having been, among other things, a consulting editor for BYTE magazine and senior editor for the launch of WebWeek.