漏洞描述:
VMWARE官方发布安全公告,披露了Spring Data MongoDB SpEL表达式注入漏洞(CVE-2022-22980)。
当使用@Query或@Aggregation注解进行查询时,若通过SpEL表达式中形如“?0”的占位符来进行参数赋值,同时应用程序未对用户输入进行过滤处理,则可能受到SpEL表达式注入的影响,成功利用该漏洞的攻击者可在目标服务器上执行代码。
腾讯安全专家建议受影响的用户尽快升级到安全版本。
漏洞编号:
CVE-2022-22980
漏洞等级:
高危,严重级,CVSS评分8.2
漏洞状态
漏洞细节 | POC | EXP | 在野利用 |
---|---|---|---|
未知 | 已公开 | 未知 | 未知 |
受影响的版本:
Spring Data MongoDB 3.4.0
3.3.0 <= Spring Data MongoDB <= 3.3.4
旧的、不受支持的版本也会受到影响
安全版本:
Spring Data MongoDB >= 3.4.1
Spring Data MongoDB >= 3.3.5
漏洞复现与验证:
漏洞修复与缓解方案:
腾讯安全专家建议受影响版本的用户尽快升级到安全版本:
3.4.x 用户应升级到 3.4.1 ,3.3.x 用户应升级到 3.3.5 ,无需执行其他步骤。
对于无法升级到上述版本的应用程序,可以应用其他缓解措施:
重写查询或聚合声明以在表达式中使用参数引用(“[0]”而不是“?0”)
在调用查询方法之前清理参数。
使用有限的 QueryMethodEvaluationContextProvider 通过 BeanPostProcessor 重新配置存储库工厂 Bean
更多修复建议请参考官方文档:
https://spring.io/blog/2022/06/20/spring-data-mongodb-spel-expression-injection-vulnerability-cve-2022-22980
腾讯安全解决方案:
- 腾讯T-Sec容器安全产品已支持检测企业容器资产是否存在Spring Data MongoDBSpEL表达式注入漏洞(CVE-2022-22980);
- 腾讯T-Sec主机安全(云镜)已支持检测企业资产是否存在Spring Data MongoDBSpEL表达式注入漏洞(CVE-2022-22980);
- 腾讯T-Sec高级威胁检测系统(御界)已支持检测利用Spring Data MongoDBSpEL表达式注入漏洞(CVE-2022-22980)的攻击活动;
- 腾讯T-Sec云防火墙已支持检测防御利用Spring Data MongoDBSpEL表达式注入漏洞(CVE-2022-22980)的攻击;
- 腾讯T-Sec Web应用防火墙(WAF)已支持检测防御利用Spring Data MongoDBSpEL表达式注入漏洞(CVE-2022-22980)的攻击。
参考链接:
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
时间线:
2022年6月21日,腾讯安全发布安全风险通告,腾讯安全全系列产品已支持检测、防御该漏洞。