一、背景介紹
近日,市委網信辦技術支撐單位監測到Spring框架遠程代碼執行RCE 0-Day漏洞,該漏洞的適用面較廣,影響較大。
1.1 漏洞描述 : 該漏洞已經被證實🧛🏿♀️,Spring中存在的漏洞👩🏻🎓,結合 jdk9 及以上新版本的特性🤙🏼,在成功利用此漏洞可以導致權限提升🧗🏿♂️,可導致任意命令執行、文件讀取、後門、DoS攻擊等危害。
1.2 漏洞編號 : 暫無
1.3 漏洞等級 : 嚴重
二、修復建議
2.1 漏洞受影響條件
- JDK 9 及以上版本
- Spring 框架以及衍生的框架,存在spring-beans-*.jar文件或者存在CachedIntrospectionResults.class
2.2 漏洞排查方法
- 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 框架進行開發
2.3 修復建議
建議受漏洞影響的信息系統運營者盡快進行自查,並及時升級至最新版本:
https://spring.io/blog/2022/03/31/spring-framework-rce-early-announcement
2.4 參考鏈接🚣♀️✋🏻:
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