Spring Security 安全性公告

CVE-2016-6652 Spring Data JPA 盲注 SQL 漏洞

中等 | 2016 年 9 月 30 日 | CVE-2016-6652

描述

使用手動宣告的 JPQL 查詢,傳遞到使用者定義的 Spring Data 儲存庫查詢方法的 Sort 實例會原樣傳遞到持久性供應商,並允許攻擊者將任意 JPQL 注入到 ORDER BY 子句中,他們可能會根據查詢結果的元素順序變化 (取決於注入的 JPQL) ,推斷出有關未公開欄位的結論。

如果 Sort 實例是從不可信任的來源建立,例如 Web 請求參數,則尤其會產生影響。

受影響的 Spring 產品和版本

  • Spring Data JPA 1.10.2, 1.9.4
  • 其他不受支援的版本也受到影響

緩解措施

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

  • 建議用戶升級到 Spring Data JPA 1.10.4 (Hopper SR4) 或 1.9.6 (Gosling SR6)。這些版本包含對傳遞到資料存取層的 Sort 實例進行清理,並且僅允許參考網域物件欄位和 JPQL 中使用的別名,以支援查詢方法。
  • 如果用戶仍然需要將複雜的排序表達式傳遞到資料存取層,他們可以使用新引入的 JpaSort.unsafe(…) 來重新實例化舊的行為。

鳴謝

此漏洞是由來自 Silverskin Information Security 的 Niklas Särökaari 以及來自 Solita 的 Joona Immonen、Arto Santala、Antti Virtanen、Michael Holopainen 和 Antti Ahola 負責回報的。

參考資料

歷史記錄

2016 年 9 月 30 日:發布初始漏洞報告

領先一步

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

瞭解更多

取得支援

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

瞭解更多

即將舉辦的活動

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

檢視全部