他們偵測到 Linux 網路子系統中存在漏洞 

漏洞

如果被利用,這些漏洞可能允許攻擊者未經授權訪問敏感信息或通常會導致問題

前幾天有消息稱, 在核心網路子系統中偵測到的漏洞 Linux那 允許,覆蓋記憶體內容 核心的,透過操作用戶空間中的網路套接字。

提到該漏洞(已編目為 CVE-2023-42752) 被歸類為關鍵 並可用於允許非特權用戶存取在核心層級運行您的程式碼。

關於漏洞CVE-2023-42752

因此,檢測到的故障 這是由 Linux 核心版本 6.2 中引入的變更引起的, 但值得注意的是,所有受支援的 LTS 分支中也引入了此更改,因此該漏洞 它也出現在受支援的內核穩定分支的舊版本中。

HOLA,

最近在Linux核心中遇到了一個整數溢位問題,導致 透過在用戶空間分配`skb_shared_info`給內核,這是 可在沒有「skb_shared_info」的 SMAP 保護的系統上利用 包含對函數指標的引用。

我驗證了兩個主分支中都存在該漏洞 和 v6.1.y,更多版本可能會受到影響(可能是所有穩定版本)

關於問題的原因,提到了 “alloc_skb”函數中仍然存在整數溢出 在Linux核心中,cue用於為sk_buff(套接字緩衝區)結構提供記憶體分配,該結構用於儲存網路封包。

此漏洞可能會被利用,因為由於缺乏對從使用者接收到的用於計算緩衝區大小的參數的正確驗證,導致發生溢位問題。 非特權使用者的攻擊需要創建使用者命名空間的存取權限, 例如,其可以被提供在隔熱容器中。

碼

程式碼截圖

有人提到:`kmalloc_reserve`函數對`kmalloc_size_roundup`中`PAGE_SIZE << get_order(size);`中的大小進行四捨五入。 由於“size”是“unsigned int”,如果原始值較大,舍入邏輯會將其設為 0,例如 0xffffded0。 結果,“data”實際上會變成“ZERO_SIZE_PTR”,即 0x10 而不是 0。由於驗證不考慮這種情況,因此內核將繼續處理“data”,就好像它們是指向有效內核的指標一樣。

稍後,當核心嘗試在 __finalize_skb_around 中最終確定 skb 物件時,它的程式碼為: shinfo = skb_shinfo(skb); ,即 skb->head+skb->end ,其中 skb->head ` 是0x10 且` skb->end`
是一個大尺寸,如 0xffffmed0。 結果,「shinfo」指向使用者空間指標。

值得一提的是,該漏洞 CVE-2023-42752是本地的,無法遠端利用 透過網絡,正如我們上面提到的,攻擊者需要訪問權限才能創建用戶命名空間。

早在 2010 年,我並沒有意識到惡意使用者可以將 dev->mtu 設定為任意值。 此後,此 MTU 被限制為 0x7fffffff,但無論 dev->mtu 有多大,igmpv3_newpack() 分配超過 IP_MAX_MTU 的值都是沒有意義的,並且存在溢出多個 skb 欄位的風險

作為臨時解決方案 建議啟用SMAP保護機制 (管理程序模式存取預防)位於核心中,可阻止該問題。

由於 解決這個問題的方法,這個已經被修補了 並在具有內核支援的不同版本中發布了阻止該漏洞的修復程序,其中提到這些更改已於 5 月 XNUMX 日在內核的穩定分支中被接受。

最後,對於 有興趣跟蹤修正 對於該漏洞,您可以在不同發行版的頁面上進行操作: DebianUbuntuGentoo的RHEL,軟呢帽和  SUSE/openSUSE。您可以在漏洞詳情中查看 以下鏈接。


發表您的評論

您的電子郵件地址將不會被發表。 必填字段標有 *

*

*

  1. 負責數據:MiguelÁngelGatón
  2. 數據用途:控制垃圾郵件,註釋管理。
  3. 合法性:您的同意
  4. 數據通訊:除非有法律義務,否則不會將數據傳達給第三方。
  5. 數據存儲:Occentus Networks(EU)託管的數據庫
  6. 權利:您可以隨時限制,恢復和刪除您的信息。