CVE-2018-1270: Remote Code Execution with spring-messaging
Spring by Pivotal
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.
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
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.
This issue was identified and responsibly reported by Alvaro Muñoz (@pwntester), Micro Focus Fortify.
- Example STOMP over WebSocket config where simple broker is enabled.
- Spring Security WebSocket Support documentation.
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