【漏洞通告】Spring Data MongoDB SpEL表達式注入漏洞(CVE-2022-22980)
發布時間 2022-06-21
0x00 漏洞概述
CVE ID | CVE-2022-22980 | 發現時間 | 2022-06-21 |
類 型 | SpEL 表達式注入 | 等 級 | 高危 |
遠程利用 | 是 | 影響范圍 | |
攻擊復雜度 | 高 | 用戶交互 | 無 |
PoC/EXP | 在野利用 |
0x01 漏洞詳情
Spring Data for MongoDB是 Spring Data 項目的一部分,該項目旨在為新的數據存儲提供熟悉和一致的基于Spring的編程模型,同時保留存儲的特定特征和功能。
6月20日,VMware發布安全公告,修復了Spring Data MongoDB中的一個SpEL 表達式注入漏洞(CVE-2022-22980),該漏洞的CVSSv3評分為8.2。
Spring Data MongoDB應用程序在對包含查詢參數占位符的SpEL表達式使用@Query或@Aggregation注解的查詢方法進行值綁定時,如果輸入未被過濾,則容易受到SpEL注入攻擊。
影響范圍
Spring Data MongoDB 3.4.0
Spring Data MongoDB 3.3.0 - 3.3.4
以及其它舊的、不受支持的版本。
0x02 安全建議
目前此漏洞已經修復,受影響用戶可以升級到以下版本:
Spring Data MongoDB 3.4.1或更高版本;
Spring Data MongoDB 3.3.5或更高版本。
下載鏈接:
https://github.com/spring-projects/spring-data-mongodb/tags
緩解措施:
重寫query 或aggregation聲明,在表達式中使用參數引用("[0]"而不是"?0");
在調用查詢方法前對參數進行過濾;
通過具有受限QueryMethodEvaluationContextProvider的BeanPostProcessor重新配置repository factory bean。
注:當滿足以下任一條件時,則不受此漏洞影響:
l @Query或@Aggregation注解方法不包含表達式;
l @Query或@Aggregation注解方法不使用表達式中的參數占位符語法;
l 過濾了用戶提供的輸入;
l 存儲庫配置為使用限制SpEL使用的QueryMethodObservationContextProvider。
0x03 參考鏈接
https://tanzu.vmware.com/security/cve-2022-22980
https://spring.io/blog/2022/06/20/spring-data-mongodb-spel-expression-injection-vulnerability-cve-2022-22980
0x04 版本信息
版本 | 日期 | 修改內容 |
V1.0 | 2022-06-21 | 首次發布 |
0x05 附錄
公司簡介
啟明星辰成立于1996年,是由留美博士嚴望佳女士創建的、擁有完全自主知識產權的信息安全高科技企業。是國內最具實力的信息安全產品、安全服務解決方案的領航企業之一。
公司總部位于北京市中關村軟件園啟明星辰大廈,公司員工近4000人,研發團隊1200余人, 技術服務團隊1300余人。在全國各省、市、自治區設立分支機構六十多個,擁有覆蓋全國的銷售體系、渠道體系和技術支持體系。公司于2010年6月23日在深圳中小板掛牌上市。(股票代碼:002439)
多年來,啟明星辰致力于提供具有國際競爭力的自主創新的安全產品和最佳實踐服務,幫助客戶全面提升其IT基礎設施的安全性和生產效能,為打造和提升國際化的民族信息安全產業領軍品牌而不懈努力。
關于我們
啟明星辰安全應急響應中心主要針對重要安全漏洞的預警、跟蹤和分享全球最新的威脅情報和安全報告。
關注以下公眾號,獲取全球最新安全資訊: