4

基于JDK9的Spring内核爆RCE 0-day漏洞 - Cyber

 2 years ago
source link: https://www.jdon.com/59913
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

基于JDK9的Spring内核爆RCE 0-day漏洞


今天,研究人员发现了一个可能破坏互联网的最严重漏洞之一,这个漏洞目前没有 CVE id,但我们可以将其 称为 SpringShell
该漏洞存在于JDK版本大于等于9.0的Spring内核中。
这个漏洞可能类似2021年底Log4j RCE 0-day 漏洞:Log4Shell

漏洞详情和调查
(1).检查JDK版本号 
在系统的运行服务器上,运行“ java -version ”命令查看运行的JDK版本。如果版本号小于等于8,则不受漏洞影响。

(2) 检查 Spring 框架的使用情况
1.如果系统项目以war包的形式部署,请按照以下步骤进行判断。

  • 解压war包。将war文件的后缀改为.zip,并解压压缩文件
  • 在解压目录中搜索spring-beans-*.jar格式的jar文件(例如,spring-beans-5.3.16.jar)。如果它存在,说明该业务系统是使用spring框架开发的。
  • 如果spring-beans-*.jar文件不存在,在解压目录下搜索CachedIntrospectionResuLts.class文件是否存在。如果它存在,说明该业务系统是使用Spring框架开发的。
2. 如果系统项目以jar包的形式直接独立运行,则按照以下步骤判断。
  • 解压缩jar包。将jar文件的后缀改为.zip,并解压压缩文件。
  • 在解压目录中搜索spring-beans-*.jar格式的jar文件(例如,spring-beans-5.3.16.jar)。如果它存在,说明该业务系统是使用spring框架开发的。
  • 如果spring-beans-*.jar文件不存在,在解压目录下搜索CachedIntrospectionResuLts.class文件是否存在。如果它存在,说明该业务系统是使用spring框架开发的。
(3) 全面调查
在完成以上两步排查后,同时满足以下两个条件,就可以确定是受此漏洞影响。
  • JDK版本号为9及以上。
  • 使用spring框架或衍生框架。

漏洞修复指南
目前,官方还没有针对的补丁。但建议使用以下两种临时解决方案进行防护,并及时关注官方补丁的发布,根据官方补丁修复漏洞。

从 Git Repository来看,Spring 开发者似乎正在着手修复远程代码执行漏洞,但我们必须等待官方确认。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK