咨询电话:400-6446-808

新闻动态

创安攻防实验室关于Spring Framework远程代码执行漏洞风险提示
2022-04-02 15:12:16
图片

近期创安攻防实验室监测到Spring官方发布安全公告,披露了一个Spring框架可在JDK>=9版本下实现远程代码执行的漏洞(CVE-2022-22965)。此漏洞影响范围极广,建议客户尽快做好自查工作。

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

 

 

漏洞描述

该漏洞是SpringFramework数据绑定的一个漏洞,如果后台方法中接受的参数为非基础类型,Spring会根据前端传入的请求正文中的参数的key值来查询与其名称所对应的getter和setter方法,攻击者利用这一特性修改了Tomcat的一个用于日志记录的类的属性,进而当Tomcat在进行写日志操作的时候,将攻击者传递的恶意代码写入指定目录的指定文件中。

影响范围

若满足如下两个条件则确定受到漏洞影响:
(1)使用JDK>=9
(2)Spring开发或衍生框架开发(存在spring-bean*.jar)
spring-framework < v5.3.18
spring-framework < v5.2.20.RELEASE

漏洞编号

CVE-2022-22965

漏洞等级

严重

 

漏洞复现

目前外界Exp/PoC已公开,创安实验室已验证该漏洞的可利用性:

 

图片

 

 

图片

 

 

 

图片

 

修复建议

 

 

 

Spring官方目前已发布安全版本,建议用户尽快更新至安全版本,下载链接如下

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

 

(一)WAF防护

 

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

 

(二)临时修复措施

 

需同时按以下两个步骤进行漏洞的临时修复:

 

1、在应用中全局搜索@InitBinder注解,看看方法体内是否调用dataBinder.setDisallowedFields方法,如果发现此代码片段的引入,则在原来的黑名单中,添加{"class.*","Class.*","*.class.*","*.Class.*"}。(注:如果此代码片段使用较多,需要每个地方都追加)

 

2、在用系统的项目包下新建以下全局类,并保证这个类被Spring 加载到(推荐在Controller所在的包中添加)。完成类添加后,需对项目进行重新编译打包和功能验证测试,并重新发布项目。

 

 

 

 

 

本文由创信华通创安攻防实验室整理编辑。

 

本文仅限于个人学习和技术研究,由于传播、利用此文所提供的信息而造成刑事案件、非授权攻击等违法行为,均由使用者本人负责,本单位不为此承担任何责任。创安攻防实验室拥有对此文章的修改和解释权,如欲转载或传播此文章,必须保证此文章的完整性,包括版权声明等全部内容。

 

如有侵权,请联系后台。

 

 

 

图片
成都创信华通信息技术有限公司
成都创信华通信息技术有限公司自成立以来一直秉承“求真务实、创新卓越”的文化理念,坚持“开创、诚信、规范、专业”的经营宗旨,竭尽全力为网络安全和国家安全保驾护航。我司以“等保测评”、“密码测评、“软件测试”、“安全服务”为基础,以综合服务为延伸,形成“4+N”的业务布局,针对多个行业形成系统的、全面的解决方案和网络安全保障体系。服务领域包括党政、政法、医疗、能源、教育、金融、工业互联网以及关键信息基础设施等多个方面。期待与您的合作!

图片

图片