Linux 核心中已發現 nf_tables、watch_queue 和 IPsec 中的可利用漏洞

Linux 核心中已發現多個危險漏洞,這些漏洞允許本地用戶增加其在系統中的權限。 已經為所有正在考慮的問題準備了漏洞利用的工作原型。

  • watch_queue 事件追蹤子系統中的漏洞 (CVE-2022-0995) 允許將資料寫入核心記憶體中的越界緩衝區。 任何非特權用戶都可以執行這種攻擊,並導致他們的程式碼以核心權限運行。 該漏洞存在於 watch_queue_set_size() 函數中,並且與嘗試清除清單中的所有指標相關,即使尚未為其分配記憶體也是如此。 使用大多數 Linux 發行版中使用的「CONFIG_WATCH_QUEUE=y」選項建立核心時會出現此問題。

    該漏洞已在 11 月 21.10 日添加的核心變更中解決。 您可以在以下頁面關注發行版中軟體包更新的發布:Debian、SUSE、Ubuntu、RHEL、Fedora、Gentoo、Arch Linux。 該漏洞利用原型已公開發布,允許您在核心為 5.13.0-37 的 Ubuntu XNUMX 上運行時獲得 root 存取權限。

    Linux 核心中已發現 nf_tables、watch_queue 和 IPsec 中的可利用漏洞

  • esp2022 和 esp27666 核心模組中存在漏洞 (CVE-4-6),在使用 IPv4 和 IPv6 時使用 IPsec 的 ESP 轉換(封裝安全負載)。 該漏洞允許具有普通權限的本地用戶覆蓋核心記憶體中的物件並提升其在系統上的權限。 這個問題是由於分配的記憶體大小與實際接收的資料之間缺乏協調造成的,因為最大訊息大小可能超過為 skb_page_frag_refill 結構分配的最大記憶體大小。

    該漏洞已於7月5.17日在內核中修復(在5.16.15、21.10等中修復)。 您可以在以下頁面關注發行版中軟體包更新的發布:Debian、SUSE、Ubuntu、RHEL、Fedora、Gentoo、Arch Linux。 該漏洞利用的工作原型已發佈在 GitHub 上,該原型允許普通用戶在預設配置下獲得 Ubuntu Desktop 2 的 root 存取權。 據稱,只需稍加改動,該漏洞就可以在 Fedora 和 Debian 上運行。 值得注意的是,該漏洞最初是為 pwn2022own XNUMX 比賽準備的,但內核開發人員發現並糾正了與之相關的錯誤,因此決定披露漏洞的詳細資訊。

  • nf_tables 模組中的 netfilter 子系統有兩個漏洞(CVE-2022-1015、CVE-2022-1016),保證了 nftables 封包過濾器的運作。 第一個問題允許本地非特權使用者對堆疊上分配的緩衝區進行越界寫入。 當處理以某種方式格式化並在有權存取 nftables 規則的使用者指定的索引的檢查階段進行處理的 nftables 表達式時,會發生溢位。

    該漏洞是由於開發人員暗示“enum nft_registers reg”的值是一個字節,當啟用某些優化時,編譯器根據 C89 規範可以使用 32 位值。 。 由於這個特性,檢查和分配記憶體時使用的大小與結構體中資料的實際大小不對應,導致結構體的尾部與堆疊上的指標重疊。

    該問題可被利用來在核心層級執行程式碼,但成功的攻擊需要存取 nftables,這可以在具有 CLONE_NEWUSER 或 CLONE_NEWNET 權限的單獨網路命名空間中取得(例如,如果您可以執行隔離容器)。 此漏洞也與編譯器使用的最佳化密切相關,例如,在「CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE=y」模式下建置時啟用最佳化。 從 Linux 核心 5.12 開始,可以利用漏洞。

    netfilter 中的第二個漏洞是由存取nft_do_chain 處理程序中已釋放的記憶體區域(釋放後使用)引起的,並可能導致內核記憶體未初始化區域的洩漏,這些區域可以透過nftables 表達式的操作讀取並使用,例如,在開發其他漏洞時確定指標位址。 從 Linux 核心 5.13 開始,可以利用漏洞。

    這些漏洞已在今天的核心修補程式 5.17.1、5.16.18、5.15.32、5.10.109、5.4.188、4.19.237、4.14.274 和 4.9.309 中解決。 您可以在以下頁面關注發行版中軟體包更新的發布:Debian、SUSE、Ubuntu、RHEL、Fedora、Gentoo、Arch Linux。 發現問題的研究人員宣布正在準備針對這兩個漏洞的有效利用程序,計劃在發行版發布內核包更新後的幾天內發布。

來源: opennet.ru

添加評論