关于 Spring 框架漏洞(Spring4Shell)

大家好,

几天前 Spring 框架被报道有严重的安全漏洞:https://tanzu.vmware.com/security/cve-2022-22965

根据报告中的说明,需要满足以下条件就有暴露风险的可能:

  • 使用 JDK 9 以上版本
  • 使用 Apache Tomcat 作为 Servlet 容器
  • 使用 WAR 包部署
  • 使用 spring-webmvc 或 spring-webflux 依赖

还有,已知的 风险场景 包括在 Spring MVC 控制器中使用 POJO 绑定请求参数。在 Jmix/CUBA 中,只有 WebDAV 扩展组件使用了这种方式。因此,除非使用了 WebDAV 或者存在使用 POJO 作为参数的自定义控制器才会有风险。考虑到 WebDAV 的 API 端点需要身份验证,真正受到攻击的概率很低。

不管怎样,我们还是推荐升级项目中的 spring-webmvc 依赖,修改 build.gradle


  • CUBA7.2+
configure(globalModule) {
    dependencies {
        compile('org.springframework:spring-webmvc:5.2.20.RELEASE')
        // ...
  • CUBA 6.10, 只支持 Java 8,因此没有风险。

  • Jmix 1.2
dependencies {
    implementation 'org.springframework:spring-webmvc:5.3.18'
    // ...

下周我们会发布 Jmix 1.2.2 和 CUBA 7.2.19 通过升级依赖版本修复此问题。升级之后,即可删除按照上面修改 build.gradle 的内容。

2赞

哇,这下可以放心了 :yum: