Spring Security 安全性公告

CVE-2016-2173 Spring AMQP 遠端程式碼執行漏洞

重大 | 2016 年 4 月 11 日 | CVE-2016-2173

描述

org.springframework.core.serializer.DefaultDeserializer 類別不會針對白名單驗證反序列化的物件。透過提供精心製作的反序列化物件 (例如 Chris Frohoff 的 Commons Collection 小工具),可以達成遠端程式碼執行。

受影響的 Spring 產品和版本

  • 1.0.0 至 1.5.4

緩解措施

受影響版本的用戶應套用以下緩解措施

  • 引用的類別 (DefaultDeserializer) 不會由任何 Spring 應用程式內容自動註冊;當使用此類別處理來自不受信任來源的物件時,使用者應謹慎,就像他們直接使用 ObjectInputStream 時一樣。
  • Spring AMQP 有一個 (可選) 訊息轉換器可以使用此反序列化器;從 1.5.5 版開始,現在可以使用可接受的反序列化套件/類別的白名單來配置該轉換器。
  • Spring AMQP 也有一個預設配置的 SimpleMessageConverter;它不使用反序列化器,但內部使用 ObjectInputStream;它現在也可以使用套件/類別的白名單進行配置。
  • 建議使用者在可能收到不受信任資料的環境中使用 RabbitMQ 時,不要使用 Java 序列化;如果他們這樣做,他們應該使用允許的物件配置轉換器。
  • 可能暴露於此漏洞的使用者應升級到 Spring AMQP 1.5.5 或更高版本並配置白名單。

貢獻

此漏洞由 Code White 的 Matthias Kaiser 發現 (www.code-white.com)

參考資料

歷史記錄

2016 年 4 月 11 日:發布初始漏洞報告。

領先一步

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

了解更多

取得支援

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

了解更多

即將舉行的活動

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

查看全部