Linux 核心的 ksmbd 模組中存在漏洞,可讓您遠端執行程式碼

ksmbd 模組中已發現一個嚴重漏洞,該模組包括基於 Linux 核心內建的 SMB 協定的檔案伺服器的實現,該實現允許您使用核心權限遠端執行程式碼。 此攻擊無需身份驗證即可進行;只需在系統上啟動 ksmbd 模組即可。 這個問題自 5.15 年 2021 月發布的核心 5.15.61 起就一直出現,並在 5.18.18 年 5.19.2 月發布的更新 2022、XNUMX 和 XNUMX 中悄悄修復。 由於尚未為該問題分配 CVE 標識符,因此沒有有關如何修復發行版中的問題的確切資訊。

該漏洞的利用細節尚未公開,只知道該漏洞是由於在執行操作之前未檢查物件是否存在而導致存取已釋放的記憶體區域(Use-After-Free)造成的在上面。 這個問題是由於 smb2_tree_disconnect() 函數釋放了為 ksmbd_tree_connect 結構分配的內存,但此後在處理某些包含 SMB2_TREE_DISCONNECT 命令的外部請求時仍然使用了一個指標。

除了上述漏洞之外,ksmbd 中還修復了 4 個不太危險的問題:

  • ZDI-22-1688 - 由於檔案屬性處理程式碼在將外部資料複製到專用緩衝區之前未檢查外部資料的實際大小,因此具有核心權限的遠端程式碼執行。 由於攻擊只能由經過身份驗證的使用者執行,因此可以緩解漏洞。
  • ZDI-22-1691 - 由於 SMB2_WRITE 命令處理程序中的輸入參數檢查不正確,導致核心記憶體中的遠端資訊洩漏(此攻擊只能由經過驗證的使用者執行)。
  • ZDI-22-1687 - 由於 SMB2_NEGOTIATE 命令處理程序中的資源釋放不正確,導致系統中的可用記憶體耗盡,從而導致遠端拒絕服務(無需身份驗證即可進行攻擊)。
  • ZDI-22-1689 - 由於缺乏對 SMB2_TREE_CONNECT 命令參數的正確驗證,導致遠端核心崩潰,導致從緩衝區外部的區域進行讀取(攻擊只能由經過身份驗證的使用者執行)。

自 4.16.0 版以來,Samba 軟體包中就支援使用 ksmbd 模組運行 SMB 伺服器。 與用戶空間 SMB 伺服器不同,ksmbd 在效能、記憶體消耗以及與進階核心功能的整合方面更加高效。 Ksmbd 被譽為高效能、嵌入式就緒的 Samba 擴展,可根據需要與 Samba 工具和函式庫整合。 ksmbd 程式碼由三星的 Namjae Jeon 和 LG 的 Hyunchul Lee 編寫,核心由 Microsoft 的 Steve French 維護,他是 Linux 核心中 CIFS/SMB2/SMB3 子系統的維護者,也是 Samba 開發團隊的長期成員,他為在Samba和Linux 中實作SMB/CIFS 協定支援做出了重大貢獻。

來源: opennet.ru

添加評論