竹笋

注册

 

发新话题 回复该主题

漏洞分析Spring远程代码执行漏洞 [复制链接]

1#
北京治愈白癜风的医院 http://pf.39.net/bdfyy/bjzkbdfyy/

作为目前全球最受欢迎的Java轻量级开源框架,Spring允许开发人员专注于业务逻辑,简化Java企业级应用的开发周期。

Spring此前版本存在CVE--漏洞,该漏洞由参数自动绑定机制导致,后通过黑名单方式修复。但JDK9后引入了Module,使得可以通过GetModule绕过黑名单限制,最终导致远程代码执行。当前漏洞评级为高危,编号CVE--/CNVD--。

攻击者在满足特定条件的情况下,可远程通过框架参数绑定功能获取AccessLogValve对象,从而触发pipeline机制并写入任意路径下的文件。

漏洞影响范围

已知受影响版本:

SpringFramework5.3.18

SpringFramework5.2.20

及其衍生产品:

JDK≥9

JRE≥9

不受影响版本:

SpringFramework=5.3.18

SpringFramework=5.2.20

JDK9

JRE9

我是否受到该漏洞威胁?(漏洞排查)

Step1:检查是否使用Spring框架,若未使用,则不存在该漏洞。

由于Java项目存在打包方式各异、SpringBean常作为基础组件Lib打包、非规范化命名等情况,推荐使用自动化迭代解压的jar方式同时对spring-beans-*.jar和

CachedIntrospectionResults.class进行匹配搜索。如果存在匹配,说明使用了Spring框架。

Step2:检查项目是否使用Spring参数绑定,若未使用,则不存在该漏洞。

由于该漏洞需要利用SpringMVC的参数绑定,因此项目若未使用参数绑定,则不受该漏洞威胁。

Step3:检查中间件使用的JDK版本,若版本号小于9,则不存在该漏洞。

通过系统进程确认中间件使用的JDK路径,在命令行执行java-version获取当前的JDK版本。

Step4:检查当前使用的中间件是否为Tomcat,若未使用,则暂不受该漏洞影响。

目前公开的漏洞利用代码只针对Tomcat中间件,但不排除后续有新的利用代码出现。因此,非Tomcat中间件仍存在风险。

Step5:检查Tomcat是否启用AccessLog,若未启用,则暂不受该漏洞影响。

目前公开的漏洞利用代码是通过覆盖Tomcat日志相关配置实现后门文件写入,但不排除后续有新的利用方式出现。在server.xml配置文件中,通过

org.apache.catalina.valves.AccessLogValve关键字,可定位到AccessLog相关配置。

我要如何防护该漏洞?(处置建议)

1、官方防护措施

官方已发布新版本5.2.20.RELEASE和5.3.18修复该漏洞,受影响的用户可尽快进行更新。

下载链接:

分享 转发
TOP
发新话题 回复该主题