CVE-2018-1257:spring-messaging 的 ReDoS 攻击

| 2018年5月9日 | CVE-2018-1257

描述

Spring Framework 的 5.0.x 系列(5.0.6 之前版本)和 4.3.x 系列(4.3.17 之前版本),以及更早的已不支持版本,允许应用程序通过 spring-messaging 模块暴露简单的内存 STOMP 消息代理的 STOMP over WebSocket 端点。恶意用户(或攻击者)可以构造一条发送到消息代理的消息,从而引发一次正则表达式拒绝服务攻击。

此漏洞暴露了满足以下所有要求的应用程序

  • 依赖 spring-messaging 和 spring-websocket 模块。
  • 注册 STOMP over WebSocket 端点。
  • 启用简单的 STOMP 消息代理。

受影响的 Spring 产品和版本

  • Spring Framework 5.0 至 5.0.5
  • Spring Framework 4.3 至 4.3.16
  • 更旧的不受支持的版本也受到影响

缓解措施

受影响版本的用户应采取以下缓解措施

  • 5.0.x 系列用户应升级到 5.0.6。
  • 4.3.x 系列用户应升级到 4.3.17。
  • 更早的版本应升级到受支持的分支。

无需其他缓解步骤。

请注意,使用 Spring Security 提供的消息认证和授权功能,可将此漏洞的暴露限制在授权用户范围内。

致谢

此问题由 Recruit Technologies Co., Ltd. 的 Muneaki Nishimura (nishimunea) 发现并负责任地报告。

参考资料

  • 示例 STOMP over WebSocket 配置,其中启用了简单的消息代理。
  • Spring Security WebSocket 支持文档。

历史

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

领先一步

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

了解更多

获得支持

Tanzu Spring 提供 OpenJDK™、Spring 和 Apache Tomcat® 的支持和二进制文件,只需一份简单的订阅。

了解更多

即将举行的活动

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

查看所有