关于Spring Data MongoDB SpEL表达式注入漏洞(CVE-2022-22980)的预警提示

时间:2022-06-22 点击数:

一、漏洞详情

Spring Data for MongoDBSpring Data项目的一部分,该项目旨在为新的数据存储提供熟悉和一致的基于Spring的编程模型,同时保留存储的特定特征和功能。

VMware发布安全公告,修复了Spring Data MongoDB中的一个SpEL表达式注入漏洞(CVE-2022-22980)。

Spring Data MongoDB应用程序在对包含查询参数占位符的SpEL表达式使用@Query@Aggregation注解的查询方法进行值绑定时,如果输入未被过滤,则容易受到SpEL注入攻击。

建议受影响用户做好资产自查以及预防工作,以免遭受黑客攻击。

二、影响范围

Spring Data MongoDB == 3.4.0

3.3.0 <= Spring Data MongoDB <= 3.3.4

旧的、不受支持的版本也会受到影响

三、修复建议

目前,VMware官方已发布漏洞修复补丁,建议用户尽快下载安装补丁程序或采取缓解措施。

1.补丁升级

建议尽快升级至官方修护版本:

Spring Data MongoDB 3.4.1版本:

https://github.com/spring-projects/spring-data-mongodb/releases/tag/3.4.1

Spring Data MongoDB 3.3.5版本:

https://github.com/spring-projects/spring-data-mongodb/releases/tag/3.3.5

2.缓解措施

1)如果您的应用程序需要使用由用户输入控制的SpEL表达式,那么使用数组形式语法“[0]”引入SpEL参数而不是“?0”形式;

2)实现自定义存储库方法,详见:https://docs.spring.io/spring-data/mongodb/docs/current/reference/html/#repositories.single-repository-behavior

3)通过BeanPostProcessor和受限的QueryMethodEvaluationContextProvider重新配置存储工厂bean

4)在调用查询方法时过滤用户输入内容。

Copyright © 2020-2025 center , All Rights Reserved 版权所有:信息网络中心 苏ICP备1234123号-000 技术支持:信息网络中心