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

MEDIUM | 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 社群中所有即將舉行的活動。

檢視全部