Spring 是一款目前主流的 Java EE 轻量级开源框架 ,是 Java 世界最为广泛使用的框架之一。Spring 提供了@InitBinder(初始化绑定封装)注解和WebDataBinder工具帮助用户实现数据绑定和校验。
根据 Spring 官方通告 ( https://spring.io/blog/2022/03/31/spring-framework-rce-early-announcement) 发现 DataBinder组件中存在一处远程代码执行漏洞,攻击者通过构造恶意 Http 请求, 即可完成对类加载器属性的修改,从而完成任意代码执行。
通过对该漏洞的分析研判,边界无限烛龙实验室认为该漏洞 影响范围广,利用简单,危害严重。
攻击者可以通过构造恶意HTTP请求数据包,绕过 CVE-2010-1622 对 Spring-Bean 中CachedIntrospectionResults的黑名单限制,即可在 Tomcat 等 Web 中间件上写入 Webshell ,实现远程代码执行,获取服务器权限。边界无限烛龙实验室已成功复现漏洞。目前相关漏洞利用技术还在进一步研究中,不排除发现除任意文件写入外,其他可直接完成远程代码执行的方案。
![漏洞风险提示|Spring Framework 远程代码执行漏洞 (CVE-2022-22965 靖云甲默认防御) 漏洞风险提示|Spring Framework 远程代码执行漏洞 (CVE-2022-22965 靖云甲默认防御)]()
-
JDK 版本需大于 9
-
使用 Spring MVC 框架 或 Spring-WebFlux
-
采用 war 包等方案部署的中间件
(1)登录靖云甲后台,在资产管理中的组件库管理中,搜索spring-bean组件,查看受影响的应用系统。
(2)查看组件所属应用详情,其使用的JDK版本是否为JDK9或更高,如是,则受本次漏洞影响。
![漏洞风险提示|Spring Framework 远程代码执行漏洞 (CVE-2022-22965 靖云甲默认防御) 漏洞风险提示|Spring Framework 远程代码执行漏洞 (CVE-2022-22965 靖云甲默认防御)]()
使用命令 "java -version" 命令查看项目运行的JDK版本号,如果低于JDK9版本,则不在漏洞影响范围,如果版本大于等于JDK9,则受该漏洞影响。
根据职责和分工,开发人员和运维人员可分别根据如下方法排查:
开发人员可查看项目是否引用SpringFramework框架,如果使用了Spring或其衍生框架,则可能受此漏洞影响。
-
运维人员可搜索项目中是否存在Spring-beans-*.jar,如Spring-beans-5.1.7.jar,以及是否存在CacheIntrospectionResults.class文件。
-
如果项目使用War包或Jar包形式部署,则可以使用解压工具解压项目文件,在解压目录中搜索是否存在Spring-beans-*.jar文件和CacheIntrospectionResults.class文件。
-
如果项目中存在如上文件,则说明项目使用Spring框架进行开发。
经如上两个步骤排查,如果项目同时满足如下两个条件,即说明受此漏洞影响:
5. 业务无损检测方案可单独联系边界无限安全服务团队索取。
-
官方已发布 Spring Framework 5.3.18 5.2.20 版本修复该漏洞,用户可自行升级。
-
临时应急措施:
-
在应用中全局搜索@InitBinder注解,查看方法体内是否调用dataBinder.setDisallowedFields方法,如果存在该引用,可在原本的黑名单中添加{"class.*","Clas.*","*.class,*","*.Class.*"}.
![漏洞风险提示|Spring Framework 远程代码执行漏洞 (CVE-2022-22965 靖云甲默认防御) 漏洞风险提示|Spring Framework 远程代码执行漏洞 (CVE-2022-22965 靖云甲默认防御)]()
-
安装靖云甲,可天然免疫该漏洞攻击:
![漏洞风险提示|Spring Framework 远程代码执行漏洞 (CVE-2022-22965 靖云甲默认防御) 漏洞风险提示|Spring Framework 远程代码执行漏洞 (CVE-2022-22965 靖云甲默认防御)]()
· END ·
靖云甲应用安全防护模块,将主动防御能力无缝融合至应用程序运行环境和开发语言中。通过对请求调用的关键函数进监听,结合应用上下文情景分析能力和强大的攻击检测引擎,可捕捉并拦截各种绕过流量检测的威胁攻击,来应对无处不在的应用漏洞与网络威胁,从而为应用程序提供全生命周期的动态安全保护。
原文始发于微信公众号(边界无限):漏洞风险提示|Spring Framework 远程代码执行漏洞 (CVE-2022-22965 靖云甲默认防御)
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
点赞
https://cn-sec.com/archives/860716.html
复制链接
复制链接
-
左青龙
- 微信扫一扫
-
-
右白虎
- 微信扫一扫
-
评论