关于Spring Data MongoDB SpEL表达式注入漏洞(CVE-2022-22980)的预警提示
发布时间:2022-06-23浏览次数:451
一、漏洞详情 Spring Data for MongoDB是Spring 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)在调用查询方法时过滤用户输入内容。 |