一、误差情形剖析
Spring框架(Framework)是一个开源的轻量级J2EE应用程序开发框架,提供了IOC、AOP及MVC等功效,解决了程序职员在开发中遇到的常见问题,提高了应用程序开发便捷度和软件系统构建效率。
由于Spring框架保存处理流程缺陷,攻击者可在远程条件下,实现对目的主机的后门文件写入和设置修改,继而通事后门文件会见获得目的主机权限。使用Spring框架或衍生框架构建网站等应用,且同时使用JDK版本在9及以上版本的,易受此误差攻击影响。
误差排查要领
-JDK版本号排查:在营业系统的运行服务器上,Windows 操作系统可在运行中执行cmd 翻开下令行窗口, Linux 操作系统可翻开控制台窗口。执行 “java version” 下令审查运行的 JDK 版本。若是版本号小于即是 8 ,则不受误差影响。
- Spring 框架使用情形排查:
a. 若是营业系统项目以 war 包形式安排,凭证如下的方法举行判断:
(1)解压 war 包:将 war 文件的后缀修改为 zip ,解压 zip 文件。
(2)在解压缩目录下搜索是否保存 spring beans --*.jar 文件(例如 spring beans5.3.16.jar ),如保存则说明营业系统使用了 Spring 框架举行开发。
(3)若是 Spring beans --*.jar 文件不保存,则在解压缩目录下搜索CacheIntrospectionResult.class 文件是否保存,如保存则说明营业系统使用了 Spring 框架举行开发
b.若是营业系统项目以 jar 包形式直接自力运行,凭证如下的方法举行判断:
(1)解压 jar 包:将 jar 文件的后缀修改成 zip ,解压 zip 文件。
(2)在解压缩目录下搜索是否保存 spring beans --*.jar 名堂的 jar 文件(例如 spring beans 5.3.16.jar ),如保存则说明营业系统使用了 Spring 框架举行开发。
(3)若是 Spring beans --*.jar 文件不保存 ,则在解压缩目录下搜索CacheIntrospectionResult.class 文件是否保存,如保存则说明营业系统使用了 Spring 框架举行开发
二、误差影响规模
- JDK 9 及以上版本
- Spring 框架以及衍生的框架,保存spring-beans-*.jar文件或者保存CachedIntrospectionResults.class
三、修复建议
建议受误差影响的信息系统运营者尽快举行自查,并实时升级至最新版本:
https://spring.io/blog/2022/03/31/spring-framework-rce-early-announcement
参考链接:
https://spring.io/blog/2022/03/31/spring-framework-rce-early-announcement
https://github.com/spring-projects/spring-framework/compare/v5.3.17...v5.3.18