领先一步
VMware 提供培训和认证,以加速您的进步。
了解更多更新
我们想宣布,我们已发布 Spring Data MongoDB 3.4.1 和 3.3.5 来解决以下 CVE 报告
此漏洞由来自 NSFOCUS TIANJI Lab 的张泽伟于 2022 年 6 月 13 日星期一负责任地报告。完整报告将在未来几天内发布到 MITRE 和作为安全公告发布到 tanzu.vmware.com/security。
该漏洞影响使用存储库查询方法的 Spring Data MongoDB 应用程序,这些方法使用 @Query
或 @Aggregation
进行注释,并使用参数化的 SpEL 语句。特定的漏洞利用需要将未经消毒的输入用于存储库查询方法。
以下是特定漏洞的必要条件
@Query
或 @Aggregation
注释的存储库查询方法的声明,这些方法使用 SpEL(Spring 表达式语言)并在 SpEL 表达式中使用输入参数引用 (?0
、?1
、…)spring-data-mongodb
依赖项其他说明
[0]
、[1]
、[…]
) 引用 SpEL 参数不会产生漏洞,如果您无法升级到包含修复程序的版本,则建议使用此方法作为解决方法首选的响应是更新到 Spring Data MongoDB 3.4.1 和 3.3.5 或更高版本。如果您已执行此操作,则无需任何解决方法。但是,有些人可能无法快速升级。因此,我们在下面提供了一些解决方法。
请注意,解决方法不一定是相互排斥的,因为安全最佳实践是“纵深防御”。
如果您的应用程序需要由用户输入控制的动态 SpEL 表达式,则使用数组语法 [0]
引用 SpEL 参数是访问 SpEL 参数的安全方法。
用自定义存储库方法实现替换 SpEL 表达式是在应用程序代码中组装动态查询的可行解决方法。有关更多详细信息,请参阅 存储库自定义参考文档。