CVE-2018-1270:使用 spring-messaging 进行远程代码执行

严重 | 2018 年 4 月 5 日 | CVE-2018-1270

描述

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 均提供),会将此漏洞的暴露范围限制为授权用户。

致谢

此问题由 Micro Focus Fortify 的 Alvaro Muñoz (@pwntester) 发现并负责任地报告。

参考

  • 示例 STOMP 通过启用简单代理的 WebSocket 配置。
  • Spring Security WebSocket 支持文档。

历史

2018-04-05:发布初始漏洞报告

  • 2018-04-10:由于 CVE-2018-1275,将升级版本 4.3.15 替换为 4.3.16

领先一步

VMware 提供培训和认证,以加速您的进步。

了解更多

获得支持

Tanzu Spring 在一个简单的订阅中提供对 OpenJDK™、Spring 和 Apache Tomcat® 的支持和二进制文件。

了解更多

即将举行的活动

查看 Spring 社区中所有即将举行的活动。

查看全部