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

2022-6-22 18:36:12 Author: www.secpulse.com 阅读量:36 收藏


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


From: https://www.secpulse.com/archives/181671.html