近日,奇安信CERT监测到Spring Data MongoDB SpEL表达式注入漏洞(CVE-2022-22980),当使用@Query或@Aggregation注解进行查询时,若通过SpEL表达式中形如“?0”的占位符来进行参数赋值,同时应用程序未对用户输入进行过滤处理,则可能受到SpEL表达式注入的影响,成功利用该漏洞的攻击者可在目标服务器上执行代码。鉴于漏洞影响范围较大,建议客户尽快做好自查及防护。

漏洞名称

Spring Data MongoDB SpEL表达式注入漏洞

公开时间

2022-06-20

更新时间

2022-06-21

CVE编号

CVE-2022-22980

其他编号

QVD-2022-9645

威胁类型

代码执行

技术类型

SpEL表达式注入

厂商

VMware

产品

Spring Data MongoDB

风险等级

奇安信CERT风险评级

风险等级

高危

蓝色(一般事件)

现时威胁状态

POC状态

EXP状态

在野利用状态

技术细节状态

未发现

未发现

未发现

未发现

漏洞描述

当使用@Query或@Aggregation注解进行查询时,若通过SpEL表达式中形如“?0”的占位符来进行参数赋值,同时应用程序未对用户输入进行过滤处理,则可能受到SpEL表达式注入的影响,成功利用该漏洞的攻击者可在目标服务器上执行代码。

影响版本

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

其他受影响组件

使用 Spring Data MongoDB依赖的应用程序

风险等级

奇安信 CERT风险评级为:高危

风险等级:蓝色(一般事件)

威胁评估

漏洞名称

Spring Data MongoDB SpEL表达式注入漏洞

CVE编号

CVE-2022-22980

其他编号

QVD-2022-9645

CVSS 3.1评级

高危

CVSS 3.1分数

8.2

CVSS向量

访问途径(AV)

攻击复杂度(AC)

网络

用户认证(Au)

用户交互

不需要

影响范围

机密性影响(C)

不改变

完整性影响(I)

可用性影响(A)

危害描述

当使用@Query或@Aggregation注解进行查询时,若通过SpEL表达式中形如“?0”的占位符来进行参数赋值,同时应用程序未对用户输入进行过滤处理,则可能受到SpEL表达式注入的影响,成功利用该漏洞的攻击者可在目标服务器上执行代码。

处置建议

目前,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)在调用查询方法时过滤用户输入内容。

更多修复建议请参考官方发布的安全建议文档:

https://spring.io/blog/2022/06/20/spring-data-mongodb-spel-expression-injection-vulnerability-cve-2022-22980

参考资料

[1]https://spring.io/blog/2022/06/20/spring-data-mongodb-spel-expression-injection-vulnerability-cve-2022-22980

声明:本文来自奇安信 CERT,版权归作者所有。文章内容仅代表作者独立观点,不代表安全内参立场,转载目的在于传递更多信息。如有侵权,请联系 anquanneican@163.com。