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

[R1] HPE Universal Configuration Management Database Multiple Vulnerabilities

Critical

Synopsis

Tenable uncovered multiple vulnerabilities in HPE Universal Configuration Management Database (UCMDB) and its components.

CVE-2017-14351

A remote unauthenticated attacker could execute arbitrary code through a Java deserialization vulnerability in UCMDB CM. A serialized object sent to /onyx-oo-9.0-webapp/remoting/OOService in an HTTP POST request will be deserialized without any type of validation. An attacker can exploit this vulnerability for code execution due to the presence of Apache Commons Collections 3.2 and Apache Commmons BeanUtils on the classpath. The following is a stack trace generated when exploiting the target with CommonsBeanutils1.
Jun 20, 2017 12:01:38 PM org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Servlet.service() for servlet [remoting] in context with path [/onyx-oo-9.0-webapp] threw exception [Request processing failed; nested exception is java.lang.ClassCastException: java.lang.reflect.InvocationTargetException] with root cause
java.lang.ClassCastException: java.lang.reflect.InvocationTargetException
	at org.apache.commons.beanutils.BeanComparator.compare(BeanComparator.java:155)
	at java.util.PriorityQueue.siftDownUsingComparator(PriorityQueue.java:699)
	at java.util.PriorityQueue.siftDown(PriorityQueue.java:667)
	at java.util.PriorityQueue.heapify(PriorityQueue.java:713)
	at java.util.PriorityQueue.readObject(PriorityQueue.java:773)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:601)
	at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:1004)
	at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1872)
	at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1777)
	at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1347)
	at java.io.ObjectInputStream.readObject(ObjectInputStream.java:369)
	at org.springframework.remoting.rmi.RemoteInvocationSerializingExporter.doReadRemoteInvocation(RemoteInvocationSerializingExporter.java:124)
	at org.springframework.remoting.httpinvoker.HttpInvokerServiceExporter.readRemoteInvocation(HttpInvokerServiceExporter.java:116)
	at org.springframework.remoting.httpinvoker.HttpInvokerServiceExporter.readRemoteInvocation(HttpInvokerServiceExporter.java:95)
	at org.springframework.remoting.httpinvoker.HttpInvokerServiceExporter.handleRequest(HttpInvokerServiceExporter.java:72)
	at com.hp.onyx.commons.utils.spring.remoting.ExtensibleHttpInvokerServiceExporter.handleRequest(ExtensibleHttpInvokerServiceExporter.java:24)
	at org.springframework.web.servlet.mvc.HttpRequestHandlerAdapter.handle(HttpRequestHandlerAdapter.java:49)
	at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:790)
	at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:719)
	at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:644)
	at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:560)

CVE-2017-14353

A remote unauthenticated attacker could execute arbitrary code through a Java deserialization vulnerability in UCMDB. A serialized object sent to /mam-collectors/collectorsResults in an HTTP POST request will be deserialized given the correct parameters. An attacker can exploit this vulnerability for code execution due to the presence of Apache Commmons BeanUtils on the classpath. The following is the URL used to test for this vulnerability in hp_ucmdb_server_cve-2017-14353.nasl:
/mam-collectors/collectorsResults?cmd=process+results&SessionCustomerId=1&versionNum=10.20.480&isZipped=false

CVE-2017-14354

The UCMDB login page is vulnerable to a reflected XSS vulnerability. The following URL demonstrates this:
http://ubuntu.westeros:8080/ucmdb-ui/login_page.jsp?forwarURlForLoginPageParam=http://ubuntu.westeros:8180/cnc/&product-name=%3Cscript%3Ealert(%22lolwat%22)%3C/script%3E&product-id=cm

Solution

Follow the upgrade guide provided by HPE in their advisory.

Disclosure Timeline

6/20/17 - Reported to [email protected]
6/21/17 - Ping vendor to ask them to acknowledge receipt
6/28/17 - Ping vendor again for acknowledgement. Informed them of 90 day countdown. (Sept. 26, 2017)
6/28/17 - HP assigns case number PSRT110540 and sent to UCMDB product dev
8/17/17 - Pinged HP PSRT for an update on status
9/07/17 - Ping HP PSRT again. Reminded them of 90 day policy and plan to publish on Sept. 26
9/14/17 - HP claims duplicate of CVE-2016-4368. Asks not to publish since issues have been addressed (no mention of XSS)
9/14/17 - Tenable notes to itself that the vector and serialized object are completely different from CVE-2016-4638. Plan to look into latest version: 10.33
9/15/17 - Tenable finds URL used in writeup was removed in CUP4 (four months after CVE-2016-4368). Furthermore, unauth RCE is still possible using BeanUtils in UCMDB 10.33
9/21/17 - HP PSRT requests for help with exploitation and requests deadline extension
9/21/17 - Tenable explains how the payload is generated, the URL used, and provides a slightly modified version of hp_ucmdb_server_cve-2016-4368.nasl so they can see how the attack works. Informed PSRT that Tenable is not inclined to grant an extension
9/22/17 - HP explains they have patches. Asks for a Oct. 4 extension
9/22/17 - Tenable agrees
9/28/17 - HP notifies researcher that an advisory will be posted shortly
10/2/17 - Tenable notes that the advisory is behind a login
10/2/17 - Tenable asks HP why the advisory doesn't mention 10.33
10/2/17 - HP explains that another advisory will be published
10/4/17 - HP publishes final advisory

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 [email protected]

Risk Information

Tenable Advisory ID: TRA-2017-32
Credit:
Jacob Baines, Tenable Network Security
CVSSv2 Base / Temporal Score:
10.0 / 8.7
CVSSv2 Vector:
AV:N/AC:L/Au:N/C:C/I:C/A:C
Nessus Plugin ID: 103732
Affected Products:
HPE UCMDB 10.33
Risk Factor:
Critical

Advisory Timeline

2017-11-09 - [R1] Initial Release