Spring 安全公告

CVE-2018-11087:RabbitMQ(Spring-AMQP)主机名验证

严重 | 2018年9月11日 | CVE-2018-11087

描述

spring-amqp 1.x 版本(早于 1.7.10)和 2.x 版本(早于 2.0.6)存在中间人攻击漏洞。

Spring RabbitMQ Java 客户端未执行主机名验证。

这意味着只要证书受信任,就会盲目接受其他主机的 SSL 证书。

要利用此漏洞,攻击者必须在使用 Spring RabbitMQ Java 客户端的 Java 应用程序与其连接的 RabbitMQ 服务器之间执行中间人 (MITM) 攻击。

TLS 通常可以保护用户和系统免受 MITM 攻击,但如果客户端接受来自其他受信任主机的证书,则无法做到这一点。

Spring AMQP 使用 RabbitMQ amqp-client java 库与 RabbitMQ 通信。

它使用 RabbitConnectionFactoryBean 创建/配置连接工厂。

受影响的 Spring 产品和版本

  • 1.7.10 和 2.0.6 之前的 Spring-AMQP 版本
  • 4.8.0 和 5.4.0 之前的 RabbitMQ amqp-client 版本

缓解措施

受影响版本的使用者应应用以下缓解措施

  • 升级到 1.7.10.RELEASE 或 2.0.6.RELEASE 并将 enableHostnameValidation 属性设置为 true。分别将传递依赖的 amqp-client 版本覆盖到至少 4.8.0 和 5.4.0
  • 即将发布的 2.1.0.RELEASE 将默认将该属性设置为 true。
  • 如果您直接使用 amqp-client 库创建连接工厂,请参阅其 javadocs 中的 enableHostnameValidation() 方法。

致谢

此问题由瑞士 Alphabot Security 的 Peter Stöckli 发现并负责任地报告。

历史

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

抢先一步

VMware 提供培训和认证,助您快速提升技能。

了解更多

获取支持

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

了解更多

即将举行的活动

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

查看全部