CVE-2018-11087: RabbitMQ (Spring-AMQP) 主機名驗證

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

描述

spring-amqp,1.7.10 之前的 1.x 版本,2.0.6 之前的 2.x 版本存在中間人攻擊漏洞。

Spring RabbitMQ Java 客戶端不執行主機名驗證。

這意味著只要信任其他主機,就會盲目接受它們的 SSL 證書。

要利用此漏洞,攻擊者必須在使用 Spring RabbitMQ Java 客戶端的 Java 應用程式和它連線的 RabbitMQ 伺服器之間執行中間人 (MITM) 攻擊。

TLS 通常保護使用者和系統免受 MITM 攻擊,但如果客戶端接受來自其他受信任主機的證書,則無法實現。

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 庫建立連線工廠,請參閱其 javadoc 瞭解 enableHostnameValidation() 方法。

致謝

此問題由瑞士 Alphabot Security 的 Peter Stöckli 發現並負責任地報告。

歷史記錄

2018-09-11:釋出初始漏洞報告。

搶先一步

VMware 提供培訓和認證,以加速您的進步。

瞭解更多

獲得支援

Tanzu Spring 在一個簡單的訂閱中為 OpenJDK™、Spring 和 Apache Tomcat® 提供支援和二進位制檔案。

瞭解更多

即將舉行的活動

檢視 Spring 社群中所有即將舉行的活動。

檢視全部