3月29日,Spring框架曝出RCE 0day漏洞。已經證實由於 SerializationUtils#deserialize 基於Java的序列化機制,可導致遠端程式碼執行 (RCE),使用JDK9及以上版本皆有可能受到影響。鑑於Spring MVC的廣泛應用,各企業需警惕遠端攻擊者,聚銘網路將密切關注Spring官方的補丁釋出情況。
1、漏洞描述
作為目前全球最受歡迎的Java輕量級開源框架,Spring允許開發人員專注於業務邏輯,簡化Java企業級應用的開發週期。
但在Spring框架的JDK9版本(及以上版本)中,遠端攻擊者可在滿足特定條件的基礎上,透過框架的引數繫結功能獲取AccessLogValve物件並諸如惡意欄位值,從而觸發pipeline機制並寫入任意路徑下的檔案。
目前Spring官方並沒有釋出與此漏洞相關的補丁檔案。相關漏洞POC也暫未被公開。考慮到自3月29日起可能存在小範圍傳播的,需警惕遠端攻擊的可能行為。
2、漏洞評級
危險等級:高
3、影響範圍
4、緩解措施
臨時解決方案:
(1)在網路流量中攔截關鍵詞如:"class.*"、"Class.*"、"*.class.*"、"*.Class.*"等字串,有可能影響業務,建議先對可疑行為進行監控。
(2)程式碼級別,全域性搜尋 @InitBinder註解,判斷方法體內是否有dataBinder.setDisallowedFields方法,如果有使用則在原來的黑名單中新增:{"class.*","Class.*","*.class.*","*.Class.*"}。結合業務狀況,可能存在一定風險,建議進行測試。
5、宣告
本安全公告僅用來描述可能存在的安全問題,不為此安全公告提供任何保證或承諾。由於傳播、利用此安全公告所提供的資訊而造成的任何直接或者間接的後果及損失,均由使用者本人負責,作者不為此承擔任何責任。