Cisco Security Advisory
Cisco IOx Application Framework Arbitrary File Creation Vulnerability
CVSS:3.0/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:H/E:X/RL:X/RC:X
-
A vulnerability in the Cisco Application Framework component of the Cisco IOx application environment could allow an authenticated, remote attacker to write or modify arbitrary files in the virtual instance that is running on the affected device.
The vulnerability is due to insufficient input validation of user-supplied application packages. An attacker who can upload a malicious package within Cisco IOx could exploit the vulnerability to modify arbitrary files. The impacts of a successful exploit are limited to the scope of the virtual instance and do not affect the device that is hosting Cisco IOx.
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://sec.cloudapps.cisco.com/security/center/content/CiscoSecurityAdvisory/cisco-sa-caf-3dXM8exv
-
Vulnerable Products
This vulnerability affects the following Cisco products if they are running a Cisco IOx Application Framework release earlier than Release 1.9.0:
- 800 Series Industrial Integrated Services Routers (Industrial ISRs)
- 800 Series Integrated Services Routers (ISRs)
- 1000 Series Connected Grid Routers (CGR1000) Compute Module
- IC3000 Industrial Compute Gateway
- Industrial Ethernet (IE) 4000 Series Switches
- IOS XE-based devices:
- 1000 Series ISRs
- 4000 Series ISRs
- ASR 1000 Series Aggregation Services Routers
- Catalyst 9x00 Series Switches
- Catalyst IE3400 Rugged Series Switches
- Embedded Services 3300 Series Switches
- IR510 WPAN Industrial Routers
For information about fixed Cisco platform releases, see the Fixed Software section of this advisory.
Assess the Device Status
Cisco IOS XE-Based Devices
For the following Cisco IOS XE-based devices, administrators can use the privileged exec command show iox-service to determine whether the Cisco IOx Application Framework is enabled on the device:
- 1000 Series ISRs
- 4000 Series ISRs
- ASR 1000 Series Aggregation Services Routers
- Catalyst 9x00 Series Switches
- Catalyst IE3400 Rugged Series Switches
- Embedded Services 3300 Series Switches
The following output of the show iox-service command shows a device with the Cisco IOx Application Framework enabled:
switch# show iox-service
.
.
.
IOx Infrastructure Summary:
---------------------------
IOx service (CAF) : Running
IOx service (HA) : Running
IOx service (IOxman) : Running
Libvirtd : Running
Dockerd : RunningThe framework is enabled if IOx service (CAF) is in the Running state.
Cisco IE 4000 Series Switches
Administrators can use the privileged exec command show iox detail to determine whether the Cisco IOx Application Framework is enabled on the device. The following output of the show iox detail command shows a device with the Cisco IOx Application Framework enabled:
switch# show iox detail
.
.
.
IOx Processes State:
--------------------
caf : Running
ioxhad : Running
libvirtd : Running
monit : RunningThe framework is enabled if caf is in the Running state.
Cisco IR510 WPAN Industrial Router
Administrators who have access to an IOx (Linux) terminal can use following CLI commands.
The following command checks the IOx release:
#vi /etc/platform/version
The following command checks the Cisco IOx Application Framework status:
#monit summary
Administrators can also check the IOx status by using get TLV from the Constrained Application Protocol (CoAP) Simple Management Protocol (CSMP) GUI field tool/device manager or from the Field Network Director (FND). The numerical value of the TLV for checking the IOx host status is 146:
146
message IoxHostStatus {
required uint32 status = 1;
optional string version = 2;
optional uint32 upTime = 3;
}In the preceding TLV, a required uint32 status of 1 indicates that the host is in an up state and operational.
The following TLV is used to get the IOx host status:
0 - unheard, 1 - up, 2 - down, 3 - stopped, 4 - disabled
version: Client firmware version
upTime: Client’s uptimeCisco CGR1000 Compute Module
Administrators can see the status of the IOx functionality by using the show iox host list detail | include IOX Server is running CLI command as shown in the following example:
CGR1000#show iox host list detail | include IOX Server is running
IOX Server is running. Process ID: 305
CGR1000#Cisco IC3000 Industrial Compute Gateway
On the Cisco IC3000 Industrial Compute Gateway, the Cisco IOx functionality is enabled by default. Administrators can see the status of the IOx functionality via the show iox summary CLI command as shown in the following example:
ic3k#show iox summary
IOx Infrastructure Summary:
---------------------------
eid: IC3000-2C2F-K9+FOC2227Y304
pfm: IC3000-2C2F-K9
s/n: FOC2227Y304
images: Lnx: 1.0.1., IOx: 1.7.0:r/1.7.0.0:fc6e9cf
boot: 2018-09-17 17:37:55
time: 2018-09-18 18:07:28
load: 18:07:28 up 1 day, 29 min, 0 users, load average: 0.32, 0.11, 0.02
memory: ok, used: 481/7854 (6%)
disk: ok, used: /:270305/338869 (79%), /software:57272/87462892 (0%)
process: warning, running: 4/5, failed: sshd
networking: ok
logs: ok, errors: caf (0)
apps: ok,Products Confirmed Not Vulnerable
Only products listed in the Vulnerable Products section of this advisory are known to be affected by this vulnerability.
-
There are no workarounds that address this vulnerability.
Customers who do not need to use the Cisco IOx Application Framework can mitigate this vulnerability by disabling IOx on the device by using the no iox configuration command.
-
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.htmlAdditionally, 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.htmlCustomers 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 fixed this vulnerability in Cisco IOx Application Framework releases 1.9.0 and later.
The following table indicates the first fixed software release that supports Cisco IOx Application Framework Release 1.9.0 or later.
Cisco Platform Release That Introduced Support for Cisco IOx Application Framework Release 1.9.0 or Later 800 Series Industrial ISRs Cisco IOS Software Release 15.9(3)M 800 Series ISRs Not fixed; IOx has reached end of life on the Cisco 800 Series ISRs. CGR1000 Compute Module IOx image for CGR1000 Release 1.10.0.6 IC3000 Industrial Compute Gateway Industrial Compute Gateway Software Release 1.2.1 IE 4000 Series Switches Cisco IOS Software Release 15.2.(7a)E0b IOS XE devices: - 1000 Series ISRs
- 4000 Series ISRs
- ASR 1000 Series Aggregation Services Routers
- Catalyst 9x00 Series Switches
- Catalyst IE3400 Rugged Series Switches
- Embedded Services 3300 Series Switches
Cisco IOS XE Software Release 17.2(1) IR510 WPAN Industrial Routers IR510 Operating System Release 6.1.27
-
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.
-
This vulnerability was found during internal security testing.
-
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.
-
Version Description Section Status Date 1.0 Initial public release. - Final 2020-JUN-03
-
THIS DOCUMENT IS PROVIDED ON AN "AS IS" BASIS AND DOES NOT IMPLY ANY KIND OF GUARANTEE OR WARRANTY, INCLUDING THE WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR USE. YOUR USE OF THE INFORMATION ON THE DOCUMENT OR MATERIALS LINKED FROM THE DOCUMENT IS AT YOUR OWN RISK. CISCO RESERVES THE RIGHT TO CHANGE OR UPDATE THIS DOCUMENT AT ANY TIME.
A standalone copy or paraphrase of the text of this document that omits the distribution URL is an uncontrolled copy and may lack important information or contain factual errors. The information in this document is intended for end users of Cisco products.