Java開發框架再傳Spring4Shell漏洞 是否會引發更大的資安風暴?
幾個月前的Log4Shell漏洞令產業聞風喪膽,近日又有研究人員揭露另一個開原碼開發框架的零時差漏洞Spring4Shell。
3月29日一名中國研究人員在其推特上公佈Spring Core Java函式庫的遠端程式碼執行漏洞,但是很快就將推文移除,且沒有太多資訊。Spring是最受歡迎的Java開發框架之一,用於70%的Java 應用程式,因此被列為CVE-2022-22965的漏洞消息引發許多人關注。
SpringShell漏洞一旦被開採,可讓攻擊者遠端在伺服器上執行任意程式碼。成功的攻擊可使駭客存取所有網站內部資料,包括連結的各個資料庫,也能存取其他內部系統以取得更多許可,或是轉移到內部網路其他部份。
Spring框架上的Java程式要滿足幾種條件才會被攻擊。最基本的條件包括:Spring框架版本在5.3.17或 5.2.19以前版本。此外Java應用程式必須跑JDK9以上的版本。
Spring4Shell漏洞是利用Spring RequestMapping註解(announcement)。它的功能基本上是將進入HTTP呼叫比對到相應handler函式。簡而言之,SpringShell漏洞讓攻擊者將Java物件注入到合法的呼叫handler中,而使得伺服器門戶洞開。
但是光是觸發漏洞並不能讓攻擊者接管整台伺服器,最嚴重只是造成阻斷服務攻擊(DoS)。它還需要能被注入Java的物件。
但不幸的是,目前網路上已出現開採程式碼,它挾帶的惡意程式可在Tomcat伺服器執行遠端程式碼。研究人員相信未來還會出現其他惡意程式,不過現階段尚未看到。
本周Spring已經緊急發佈5.3.18 和 5.2.20修補了這個漏洞。所有使用Spring的專案最好立即更新。