CVE-2018-1270: spring-messaging 远程代码执行
描述
Spring Framework 5.0.x(5.0.5之前)、4.3.x(4.3.16之前)以及更旧的不受支持的版本允许应用程序通过 spring-messaging 模块暴露带有简单内存 STOMP 代理的 WebSocket STOMP 端点。恶意用户(或攻击者)可以向代理构造一条消息,从而导致远程代码执行攻击。
受影响的 Spring 产品和版本
- Spring Framework 5.0 至 5.0.4
- Spring Framework 4.3 至 4.3.15
- 更旧的不受支持的版本也受到影响
缓解措施
受影响版本的用户应采取以下缓解措施
- 5.0.x 用户应升级到 5.0.5
- 4.3.x 用户应升级到 4.3.16
- 旧版本应升级到受支持的分支
无需其他缓解步骤。
请注意,使用 Spring Security 提供的消息认证和授权功能,可将此漏洞的暴露限制在授权用户范围内。
致谢
此问题由 Alvaro Muñoz (@pwntester)(Micro Focus Fortify)发现并负责任地报告。
参考资料
- 示例 STOMP over WebSocket 配置,其中启用了简单代理。
- Spring…