CVE-2018-1270: Remote Code Execution with spring-messaging
Severity
Critical
Vendor
Spring by Pivotal
Description
Spring Framework, versions 5.0.x prior to 5.0.5 and versions 4.3.x prior to 4.3.16, and older unsupported versions allow applications to expose STOMP over WebSocket endpoints with a simple, in-memory STOMP broker through the spring-messaging
module. A malicious user (or attacker) can craft a message to the broker that can lead to a remote code execution attack.
Affected VMware Products and Versions
Severity is critical unless otherwise noted.
- Spring Framework 5.0 to 5.0.4
- Spring Framework 4.3 to 4.3.15
- Older unsupported versions are also affected
Mitigation
Users of affected versions should apply the following mitigation:
- 5.0.x users should upgrade to 5.0.5
- 4.3.x users should upgrade to 4.3.16
- Older versions should upgrade to a supported branch
There are no other mitigation steps necessary.
Note that the use of authentication and authorization for messages, both of which are provided by Spring Security, limits exposure to this vulnerability to authorized users.
Credit
This issue was identified and responsibly reported by Alvaro Muñoz (@pwntester), Micro Focus Fortify.
References
- Example STOMP over WebSocket config where simple broker is enabled.
- Spring Security WebSocket Support documentation.
History
2018-04-05: Initial vulnerability report published
2018-04-10: Replaced upgrade version 4.3.15 with 4.3.16 due to CVE-2018-1275