1. 程式人生 > 其它 >學會辨識「漏洞炒作」你就比別人強!

學會辨識「漏洞炒作」你就比別人強!

點選關注強哥,檢視更多精彩文章呀

哈嘍,大家好,我是強哥。

昨天,最受歡迎的開源輕量級 Java 框架 Spring 被曝存在高危的 RCE(遠端控制裝置) 零日漏洞 ,北京大學計算中心、外媒 praetorian 、 bleepingcomputer 等站點對該漏洞進行了報道。

炒作

強哥也看到了很多媒體瘋狂報道此事,根據網上瘋傳的介紹,該 RCE 漏洞源於 Spring 框架核心的 SerializationUtils#dserialize 方法,該方法基於 Java 的序列化與反序列機制,可導致遠端程式碼執行 (RCE),使用 JDK9 及以上版本皆有可能受到影響。

如果確實存在,那麼這個 Spring 框架 RCE 漏洞的影響將遠超此前的 Log4j 或 Heartbleed ,但強哥在翻了一整天,也沒有看到誰能真正復現此漏洞(沒有完整的 Poc)。所有內容千篇一律:

  1. WAF臨時策略
  1. 臨時緩解措施

GitHub 上倒是有很多命名為 Spring core RCE 的新倉庫,但也基本都是“懂的都懂”的謎語描述,沒有真正的乾貨內容。

不過,強哥也看到好多原來披露漏洞的文章,現在頁面404了。

另一種聲音

具體404的原因可能和下面的描述有關。

早在 2 月 19 日 Spring 框架的倉庫就出現過對該 SerializationUtils 方法的討論,開發者 ledoyen 就指出:基於 Java 的序列化機制,SerializationUtils#dserialize 可能導致 RCE 遠端程式碼執行漏洞,因此他提出了棄用 SerializationUtils#dserialize 的 PR #28075 :

有人詢問在該 PR 下詢問“SerializationUtils#dserialize 是否應該作為漏洞報道”時, ledoyen 也進行解釋:

SerializationUtils#dserialize本身不是漏洞,使用此工具處理使用者輸入資料可能會導致 CVE,但該方法在內部作為快取結果攔截器( CacheResultInterceptor) 使用的話,則不會導致任何漏洞。

目前, SerializationUtils#dserialize在 Spring Framework 6.0 中已棄用,而對於 5.3.x 版本,則是向 Javadoc 中新增針對 SerializationUtils 工具類的警告,以提高使用者的警覺意識。

到底有沒有漏洞

首先我們來看下GitHub上在spring-framework上提出漏洞的issue吧:

我們可以看到,目前該issue的狀態已經被設定為close-invalid,不過到底是否是漏洞,作者也有讓提出該issue的人將漏洞提到 https://spring.io/security-policy上。而具體的漏洞是否存在,還是需要等待後續官方披露。

當然,我們要怎麼確定到底官方是否公佈了漏洞呢?

Spring官方的具體漏洞披露地址如下:

https://tanzu.vmware.com/security

從上可以看出,暫時官方部落格的最新漏洞公告是 CVE-2022-22963:Spring 表示式資源訪問漏洞 和 CVE-2022-22950:Spring 表示式 DoS 漏洞 ,但這兩個漏洞的嚴重程度都是中等,還未披露網傳 Spring 核心框架的 RCE 高危漏洞。

而強哥上篇推文,就可以在這裡找到:

感興趣的小夥伴可以持續關注這個地址,如果確認是漏洞,官方應該會第一時間說明。

強哥有話說

可以說,漏洞問題確實非常容易拉緊人們的神經。就如上次的log4j的漏洞,導致很多人連夜升級版本,而且還是多次。

可是,對於漏洞本身,我們還是需要有足夠的辨識能力,如果真的對切身有關,同時有人真的提出了復現漏洞的方式,不妨跟著重現一下,這樣,在確認漏洞的同時,自己也能從中學到許多。

後續該漏洞的進展,強哥也會持續跟進。

點選關注強哥,檢視更多精彩文章呀