【漏洞预警】Spring Data MongoDB SpEL表达式注入漏洞

2022-06-22 8,320



1. 通告信息




近日,安识科技A-Team团队监测到一则 Spring Data MongoDB SpEL存在表达式注入漏洞的信息,该漏洞的CVSSv3评分为8.2漏洞编号:CVE-2022-22980,漏洞威胁等级:高危。Spring Data MongoDB应用程序在对包含查询参数占位符的SpEL表达式使用@Query或@Aggregation注解的查询方法进行值绑定时,如果输入未被过滤,则容易受到SpEL注入攻击。


2. 漏洞概述




CVECVE-2022-22980

简述:Spring Data for MongoDB是 Spring Data 项目的一部分,该项目旨在为新的数据存储提供熟悉和一致的基于Spring的编程模型,同时保留存储的特定特征和功能。Spring Data MongoDB应用程序在对包含查询参数占位符的SpEL表达式使用@Query或@Aggregation注解的查询方法进行值绑定时,如果输入未被过滤,则容易受到SpEL注入攻击。


3. 漏洞危害




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


4. 影响版本




目前受影响的 Spring Data MongoDB版本:

Spring Data MongoDB 3.4.0

Spring Data MongoDB 3.3.0 - 3.3.4

以及其它旧的、不受支持的版本。


5. 解决方案




目前此漏洞已经修复,受影响用户可以升级到以下版本:

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。


6. 时间轴




-20220620 安识科技A-Team团队监测到漏洞公布信息

-20220621 安识科技A-Team团队根据漏洞信息分析

-20220622 安识科技A-Team团队发布安全通告


本文作者:安识科技

本文为安全脉搏专栏作者发布,转载请注明:https://www.secpulse.com/archives/181671.html

Tags:
评论  (0)
快来写下你的想法吧!

安识科技

文章数:190 积分: 135

安识科技:专业的企业安全解决方案提供商。官网:https://www.duoyinsu.com/

安全问答社区

安全问答社区

脉搏官方公众号

脉搏公众号