領先一步
VMware 提供培訓和認證,助您加速前進。
瞭解更多更新
我們很高興宣佈釋出 Spring Data MongoDB 3.4.1 和 3.3.5,以解決以下 CVE 報告
此漏洞由綠盟科技天機實驗室的 Zewei Zhang 於 2022 年 6 月 13 日(星期一)負責任地報告。完整報告將在未來幾天釋出到 MITRE 並作為安全公告發布在 tanzu.vmware.com/security 下。
該漏洞影響使用帶有 @Query
或 @Aggregation
註解並使用引數化 SpEL 語句的 Repository 查詢方法的 Spring Data MongoDB 應用程式。特定的利用需要向 Repository 查詢方法使用未經淨化的輸入。
以下是此特定漏洞的必要條件
@Query
或 @Aggregation
註解的 Repository 查詢方法,這些方法使用 SpEL (Spring Expression Language) 並在 SpEL 表示式中使用輸入引數引用 (?0
, ?1
, …)spring-data-mongodb
依賴附加說明
[0]
, [1]
, […]
) 引用 SpEL 引數不會產生漏洞,如果您無法升級到包含修復的版本,這是一種推薦的權宜之計。首選的應對措施是更新到 Spring Data MongoDB 3.4.1 和 3.3.5 或更高版本。如果您已經完成此操作,則無需任何權宜之計。然而,有些人可能無法快速升級。出於這個原因,我們在下面提供了一些權宜之計。
請注意,權宜之計不一定是相互排斥的,因為安全最好採取“深度防禦”。
如果您的應用程式需要受使用者輸入控制的動態 SpEL 表示式,那麼使用陣列語法 [0]
引用 SpEL 引數是一種安全的訪問 SpEL 引數的方式。
將 SpEL 表示式替換為自定義 Repository 方法實現是一種可行的權宜之計,可以在應用程式程式碼中組裝動態查詢。有關更多詳細資訊,請參閱Repository 自定義參考文件。