前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >漏洞通告 | Spring Framework远程代码执行漏洞,火绒安全发布检测工具

漏洞通告 | Spring Framework远程代码执行漏洞,火绒安全发布检测工具

作者头像
用户6477171
发布2022-04-11 13:55:54
7360
发布2022-04-11 13:55:54
举报
文章被收录于专栏:用户6477171的专栏

近日,Spring官方披露了一个远程命令执行漏洞(CVE-2022-22965),其框架存在处理流程缺陷,攻击者可远程实现对目标主机的后门文件写入和配置修改,继而通过后门文件访问获得目标主机权限。任何引用Spring Framework的框架均受此漏洞影响,包括但不限于Spring Boot等。

目前该漏洞的POC、EXP等相关代码均已公开,极易遭到利用,危害较大。且由于 Spring MVC 框架在世界范围内应用广泛,火绒工程师提醒用户,使用火绒“CVE-2022-22965 (Spring Boot)漏洞版本检测工具”排查有关系统中是否使用了漏洞版本的Spring Boot组件,如存在相关问题,请尽快升级到最新版本进行防护。

检测工具下载地址:

https://bbs.huorong.cn/thread-101429-1-1.html

Spring是一个比 J2EE 开发更为简单高效的轻量级框架。该框架提供了一个更完善的开发环境,降低了开发者的学习成本,更多的强调了面向对象的编程设计,并降低了接口使用的复杂度。

漏洞描述

官方发布CVE编号为CVE-2022-22965确认该漏洞。在后续的分析中发现该漏洞其实是CVE-2010-1622漏洞的绕过。CVE-2010-1622官方的修复方式是拦截Class.getClassLoader的访问,而在java 9以上的版本中却可以通过Class.getmodule来绕过拦截,于是就有了现在的漏洞。

影响范围

若满足如下两个条件则确定受到漏洞影响:

(1)使用JDK>=9

(2)Spring开发或衍生框架开发(存在Spring-bean*.jar)

Spring-Framework < v5.3.18

Spring-Framework < v5.2.20.RELEASE

注意:此次受漏洞影响的是Spring Framework,任何引用Spring Framework的框架均受此漏洞影响,包括但不限于Spring Boot等。同时,使用Spring框架或衍生框架所构建的网站等应用,且使用JDK版本在9及以上版本的,皆易受此漏洞攻击影响。

Spring Boot漏洞版本检测工具使用方法

Linux环境

在具有webapps目录访问权限的用户登录情况下,在bash中运行 CVE-2022-22965_detector.sh,并在提示位置出输入webapps目录位置。工具可以帮助确认本地网站应用中是否包含、使用了漏洞版本Spring Boot。如果组件存在漏洞,可以通过更新pom.xml中的Spring Boot版本并重新打包、部署以解决此问题(最新版本为2.5.12或2.6.6)。检测到漏洞版本Spring Boot时,相关显示结果:

当未检测到漏洞版本Spring Boot时,相关显示结果:

Windows环境

在具有webapps目录访问权限的用户登录情况下,在CMD窗口中运行CVE-2022-22965-detector.exe,调用时需传入webapps全路径。工具可以帮助确认本地网站应用中是否包含、使用了漏洞版本Spring Boot。如果组件存在漏洞,可以通过更新pom.xml中的Spring Boot版本并重新打包、部署以解决此问题(最新版本为2.5.12或2.6.6)。检测到漏洞版本Spring Boot时,相关显示结果:

当未检测到漏洞版本Spring Boot时,相关显示结果:

解决方案及缓解措施

1.官方方案

升级 Spring Framework 到最新版本,链接如下:

https://github.com/spring-projects/spring-framework/tags

2.缓解措施

方式一:

升级Apache Tomcat组件到10.0.20、9.0.62、8.5.78

方式二:

更改项目源代码,通过全局@InitBinder 注解设置禁止WebDataBinder绑定特定字段

代码语言:javascript
复制
@ControllerAdvice
@Order(Ordered.LOWEST_PRECEDENCE)
public class BinderControllerAdvice {

    @InitBinder
    public void setAllowedFields(WebDataBinder dataBinder) {
         String[] denylist = new String[]{"class.*", "Class.*", "*.class.*", "*.Class.*"};
         dataBinder.setDisallowedFields(denylist);
    }

}

火绒安全软件随后也将升级产品相关防御模块,防御通过该漏洞产生的威胁。用户可先使用火绒安全“CVE-2022-22965 (Spring Boot)漏洞版本检测工具”进行业务风险自查并进行升级处置。

参考链接:

https://spring.io/blog/2022/03/31/spring-framework-rce-early-announcement

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-04-02,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 火绒安全实验室 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
检测工具
域名服务检测工具(Detection Tools)提供了全面的智能化域名诊断,包括Whois、DNS生效等特性检测,同时提供SSL证书相关特性检测,保障您的域名和网站健康。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档