Spring Security 安全性建議

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 Client 未執行主機名稱驗證。

這表示其他主機的 SSL 憑證會被盲目接受,只要它們是受信任的。

要利用此漏洞,攻擊者必須在使用 Spring RabbitMQ Java Client 的 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 函式庫來建立連線工廠,請參閱其 javadocs 以取得 enableHostnameValidation() 方法。

鳴謝

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

歷史

2018-09-11:發布初始漏洞報告。

領先一步

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

了解更多

取得支援

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

了解更多

即將到來的活動

查看 Spring 社群中所有即將舉行的活動。

檢視全部