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

admin 2022年4月3日15:06:42评论173 views字数 2116阅读7分3秒阅读模式

点击蓝字
关注我们


近日,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 Framework远程代码执行漏洞,火绒安全发布检测工具

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

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


Windows环境

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


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

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


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


解决方案及缓解措施

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绑定特定字段

@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




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


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

扫码关注我们吧



原文始发于微信公众号(火绒安全实验室):漏洞通告 | Spring Framework远程代码执行漏洞,火绒安全发布检测工具

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年4月3日15:06:42
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   漏洞通告 | Spring Framework远程代码执行漏洞,火绒安全发布检测工具http://cn-sec.com/archives/865693.html

发表评论

匿名网友 填写信息