JAVA Spring框架被曝高危漏洞 附修复方案

2022年3月31日 374点热度 0人点赞 0条评论
图片
点击上方蓝字,记得关注我们!
图片
Web·App攻击防护-有效防御黑客入侵

近期我们SINE安全监测到Spring官方发布的漏洞安全通知,发现Spring框架可在JDK>=9版本下实现远程代码执行的漏洞(CVE-2022-22965)。此漏洞影响范围很广被漏洞利用的几率很高,建议大家检查自己的JAVA开发的项目是否有Spring包,目前我们已对SINE安全的客户进行了自检和漏洞修复,提前预防了被此漏洞利用的威胁。

官方详情链接:

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


1.1 漏洞框架影响范围

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

(1)使用JDK>=9

(2)Spring开发的项目(存在spring-bean*.jar等之类的包)

spring-framework < v5.3.18

spring-framework < v5.2.20.RELEASE


1.2 漏洞利用情况

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

图片
图片

1.3 补丁情况

目前Spring官方已发布安全版本修复该漏洞,安全版本如下:

spring-framework v5.3.18

spring-framework v5.2.20.RELEASE

下载地址:

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



2.1 漏洞自查

排查包含Spring框架的项目使用的JDK版本,如果JDK版本大于等于9的版本则存在风险。


2.2 漏洞处置

目前Spring官方已发布安全补丁,建议及时更新Spring至官方最新安全版本来修复此漏洞。

临时缓解措施:

1.全局搜索@InitBinder注解,判断方法体内是否有dataBinder.setDisallowedFields方法,如果有使用则在原来的黑名单中添加:

{"class.*","Class.*","*.class.*","*.Class.*"}

(注:如果此代码片段使用较多,需要每个地方都追加)

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

import org.springframework.core.annotation.Order;import org.springframework.web.bind.WebDataBinder;import org.springframework.web.bind.annotation.ControllerAdvice;import org.springframework.web.bind.annotation.InitBinder;@ControllerAdvice@Order(10000)publicclassGlobalControllerAdvice{ @InitBinderpublic void setAllowedFields(webdataBinder dataBinder){String[]abd=new string[]{"class.*","Class.*","*.class.*","*.Class.*"};dataBinder.setDisallowedFields(abd);}}

图片

图片

图片
图片

SINE安全

图片

←扫码联系技术人员

为Web和APP提供攻击安全防护!

术有专攻 安全防护!

图片

好看你就分享 有用就点个赞

支持「网站安全」就点个三连吧!

图片
7600JAVA Spring框架被曝高危漏洞 附修复方案

root

这个人很懒,什么都没留下

文章评论