再次......他們在 eBPF 子系統中發現了另一個漏洞

最近有消息爆出 發現了一個新的漏洞 (已在 CVE-2021-4204 下編目) 在 eBPF 子系統中 (為了改變)...

並且 eBPF 子系統並沒有停止成為內核的主要安全問題,因為在 2021 年全年很容易每月披露兩個漏洞,我們將在博客中討論其中的一些漏洞。

關於當前問題的細節,提到了 檢測到的漏洞允許驅動程序在 Linux 內核中運行 在一個特殊的 JIT 虛擬機中,這反過來又允許非特權本地用戶提升權限並在內核級別執行他們的代碼。

在問題描述中,他們提到 該漏洞是由於對傳輸執行的 eBPF 程序的不當掃描造成的,因為 eBPF 子系統提供了輔助函數,其正確性由一個特殊的驗證器檢查。

此漏洞允許本地攻擊者增加權限
受影響的 Linux 內核安裝。 攻擊者必須首先獲得
在目標系統上以低權限運行代碼的能力
利用這個漏洞。

在處理 eBPF 程序時存在特定缺陷。 問題 用戶提供的 eBPF 程序缺乏正確驗證的結果 在運行它們之前。 

除此之外, 某些函數需要將 PTR_TO_MEM 值作為參數傳遞 並且驗證者必須知道與參數相關的內存大小以避免潛在的緩衝區溢出問題。

而對於函數 bpf_ringbuf_submit 和 bpf_ringbuf_discard, 有關傳輸內存大小的數據不會報告給驗證者 (這是問題開始的地方),攻擊者利用它來在執行特製的 eBPF 代碼時覆蓋緩衝區限制之外的內存區域。

攻擊者可以利用此漏洞 提升權限並在內核上下文中執行代碼。 請注意,大多數發行版默認禁用非特權 bpf。

提到為了讓用戶進行攻擊, 用戶必須能夠加載您的 BPF 程序,並且許多最近的 Linux 發行版阻止了這一點 默認情況下(包括對 eBPF 的非特權訪問現在默認在內核本身中被禁止,從 5.16 版本開始)。

例如,提到了該漏洞 可以在默認配置中被利用 一個仍然被廣泛使用的發行版,最重要的是它非常受歡迎 Ubuntu 20.04 LTS, 但在 Ubuntu 22.04-dev、Debian 11、openSUSE 15.3、RHEL 8.5、SUSE 15-SP4 和 Fedora 33 等環境中,只有管理員設置了參數才會顯示 kernel.unprivileged_bpf_disabled 為 0。

目前,作為阻止該漏洞的一種變通方法,提到您可以通過在終端中運行以下命令來阻止非特權用戶運行 BPF 程序:

sysctl -w kernel.unprivileged_bpf_disabled=1

最後,應該提到的是 該問題從 Linux 內核 5.8 開始出現,並且仍未打補丁 (包括 5.16 版),這就是為什麼 漏洞利用代碼將延遲7天 並將於 UTC 時間 12:00,即 18 年 2022 月 XNUMX 日發布。

有了它 它旨在為提供糾正補丁提供足夠的時間 在每個官方渠道中的不同 Linux 發行版的用戶中,開發人員和用戶都可以更正所述漏洞。

對於那些有興趣通過消除一些主要發行版中的問題來了解更新形成狀態的人,他們應該知道可以從這些頁面進行跟踪:  DebianRHELSUSEFedoraUbuntu拱。

如果你是 有興趣了解更多 關於注意事項,可以查閱原文聲明 在下面的鏈接中。


發表您的評論

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

*

*

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