Spring JDK>= 9 RCE 远程代码执行漏洞已证实,提供 JeeSite 修补方案

原创
2022/04/01 11:01
阅读数 4K

JeeSite 微信公众号,当天群发次数已经用完了,临时在博客里公告该信息

漏洞详情

2022年3月31日,Spring官方发布安全公告,披露CVE-2022-22965 Spring Framework 远程代码执行漏洞。由于Spring框架存在处理流程缺陷,攻击者可在远程条件下,实现对目标主机的后门文件写入和配置修改,继而通过后门文件访问获得目标主机权限。使用Spring框架或衍生框架构建网站等应用,且同时使用JDK版本在9及以上版本的,易受此漏洞攻击影响。

官方公告:https://spring.io/blog/2022/03/31/spring-framework-rce-early-announcement

我受影响了吗?

已经证实的场景条件的报告:

  • JDK 9 或更高版本

  • 使用 Apache Tomcat 作为 Servlet 容器

  • 打包为传统的 WAR 方式

  • spring-webmvc 或 spring-webflux 依赖

  • Spring Framework 版本 5.3.0 到 5.3.17、5.2.0 到 5.2.19 以及更早的版本

但是,该漏洞的性质更为普遍,可能还有其他尚未报告的利用方法,如果不符合上面的条件,也建议大家修复。

修复建议

截止2022年3月31日,官方已发布安全版本修复该漏洞:

  • 包含修复的 Spring Framework 5.3.18 和 5.2.20 已发布

  • 依赖 Spring Framework 5.3.18 的 Spring Boot 2.6.6 和 2.5.12 已经发布。

(1)修复措施

在2022年3月30日,我们已对JeeSite所有版本进行了升级,并添加 dataBinder.setDisallowedFields 过滤方法,可以解决该问题。

执行以下命令,重新打包部署项目,获取最新jeesite依赖:  

cd webmvn clean package spring-boot:repackage -Dmaven.test.skip=true -U

注意:不建议你自己添加 setDisallowedFields 过滤字符串,因为  JeeSite 本身还有一些字符过滤,自己添加可能会覆盖本身自带的一些过滤参数。

(2)WAF 防护 

 WAF 等网络防护设备上,根据实际部署业务的流量情况,实现对"class.*", "Class.*", "*.class.*", "*.Class.*"等字符串的规则过滤,并在部署过滤规则后,对业务运行情况进行测试,避免产生额外影响。

点击“原文”看Spring官方公告

展开阅读全文
加载中
点击加入讨论🔥(1) 发布并加入讨论🔥
1 评论
0 收藏
0
分享
返回顶部
顶部