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 通常可以保護使用者和系統免受中間人攻擊,但如果客戶端接受了其他受信任主機的證書,TLS 將無法提供保護。

Spring AMQP 使用 RabbitMQ amqp-client Java 庫與 RabbitMQ 進行通訊。

它使用 RabbitConnectionFactoryBean 來建立/配置連線工廠。

受影響的 Spring 產品和版本

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

緩解措施

受影響版本的使用者應採取以下緩解措施

  • 升級到 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 社群所有即將舉行的活動。

檢視所有