最近有消息說 檢測到零日類型的嚴重漏洞 在模塊中 Spring Core 作為 Spring Framework 的一部分提供,它允許遠程、未經身份驗證的攻擊者在服務器上執行他們的代碼。
據估計,Spring Core 模塊 用於 74% 的 Java 應用程序. 漏洞的危險被降低了,因為只有應用程序 使用“@RequestMapping”註釋通過連接請求處理程序並使用“name=value”(POJO,Plain Old Java Object)格式而不是 JSON/XML 格式的 Web 表單參數綁定,它們很容易受到攻擊。 目前尚不清楚哪些 Java 應用程序和框架會受到該問題的影響。
這個名為“Spring4Shell”的漏洞利用類註入導致完整的RCE,非常嚴重。 之所以選擇“Spring4Shell”這個名稱,是因為 Spring Core 是一個無處不在的庫,類似於引發臭名昭著的 Log4Shell 漏洞的 log4j。
我們認為運行 JDK 9 及更高版本的用戶容易受到 RCE 攻擊。 所有版本的 Spring Core 都會受到影響。
有一些策略可以減輕攻擊,我們認為並非所有 Spring 服務器都必然易受攻擊,這取決於下面討論的其他因素。 也就是說,我們目前建議所有使用 Spring Core 的用戶應用緩解或升級。
只有在使用 Java/JDK 9 時才能利用該漏洞 或更新的版本。 該漏洞阻止將“class”、“module”和“classLoader”字段列入黑名單或使用允許字段的顯式白名單。
問題 是由於能夠繞過針對 CVE-2010-1622 漏洞的保護, 在 2010 年的 Spring Framework 中修復並與解析請求參數時執行 classLoader 處理程序相關聯。
漏洞利用的操作簡化為發送請求 c使用參數“class.module.classLoader.resources.context.parent.pipeline.first.*”,其處理在使用“WebappClassLoaderBase”時會導致調用 AccessLogValve 類。
指定類允許你配置logger在Apache Tomcat的根環境下創建任意jsp文件,並將攻擊者指定的代碼寫入該文件。 創建的文件可用於直接請求,並可用作 Web shell。 要在 Apache Tomcat 環境中攻擊易受攻擊的應用程序,使用 curl 實用程序發送帶有某些參數的請求就足夠了。
Spring Core 中考慮的問題 不要與新發現的漏洞混淆 CVE-2022-22963 和 CVE-2022-22950。 第一個問題影響 Spring Cloud 包,還允許實現遠程代碼執行(利用)。 CVE-2022-22963 在 Spring Cloud 3.1.7 和 3.2.3 版本中得到修復。
第二個問題 CVE-2022-22950 存在於 Spring Expression 中,可用於發起 DoS 攻擊,並已在 Spring Framework 5.3.17 中修復。 這些是根本不同的漏洞。 Spring Framework 開發人員尚未就新漏洞發表任何聲明,也未發布修復程序。
作為臨時保護措施,建議您在代碼中使用無效查詢參數黑名單。
還是 目前尚不清楚後果可能是多麼災難性 已確定的問題以及攻擊是否會像 Log4j 2 中的漏洞一樣大規模。該漏洞的代號為 Spring4Shell,CVE-2022-22965,並已發布更新 Spring Framework 5.3.18 和 5.2.20以解決漏洞。
自 31 年 2022 月 5.3.18 日起,最新發布的 Spring 版本 5.2.20 和 XNUMX 中的補丁現在可用。 我們建議所有用戶升級。 對於無法升級的用戶,可以採取以下緩解措施:
根據 Praetorian 確認 Spring Core 中存在 RCE 的帖子,目前推薦的方法是通過添加漏洞利用所需的易受攻擊字段模式的黑名單來修補 DataBinder。
最後是 您有興趣了解更多信息 關於筆記,您可以查看詳細信息 在下面的鏈接中。