他們發現了eBPF子系統中的漏洞,這些漏洞允許在內核級別執行代碼 

最近 我們在博客上分享有關Microsoft表現出興趣的新聞 關於子系統 eBPF, 由於它已經為Windows構建了一個子系統,該子系統使用了抽象解釋靜態分析方法,與Linux的eBPF檢查器相比,該方法顯示出較低的誤報率,支持循環分析,並提供了良好的可伸縮性。

該方法考慮了從現有eBPF程序分析中獲得的許多典型性能模式。 此eBPF子系統 從3.18版開始,Linux內核已包含該版本,並且 它使您可以處理傳入/傳出的網絡數據包,轉發數據包,控制帶寬,攔截系統調用,控制訪問並執行監視。

那是在談論它嗎,最近發現 確定了兩個新漏洞 在子系統中 eBPF,它使您可以在特殊的JIT虛擬機中的Linux內核中運行驅動程序。

這兩個漏洞都提供了運行具有內核權限的代碼的機會, 在隔離的eBPF虛擬機外部。

信息 關於問題 由零日倡議團隊發布, 在Pwn2Own競賽中,該競賽今年進行了XNUMX次針對Ubuntu Linux的攻擊,其中使用了以前未知的漏洞(如果eBPF中的漏洞與這些攻擊有關,則不會報告)。

發現eBPF ALU32限制了按位運算(AND,OR和 XOR)未更新32位限制。

RedRocket CTF團隊(@redrocket_ctf)的Manfred Paul(@_manfp)與他一起工作趨勢科技的“零日”舉措發現了此漏洞 它可以轉換為內核中的越界讀寫。 這是 報告為ZDI-CAN-13590,並指定為CVE-2021-3490。

  • CVE-2021-3490: 該漏洞是由於在eBPF ALU32上執行按位AND,OR和XOR操作時缺乏對32位值的越界驗證的緣故。 攻擊者可以利用此bug來讀取和寫入超出分配的緩衝區限制的數據。 從內核5.7-rc1開始存在XOR操作的問題,從5.10-rc1開始存在AND和OR的問題。
  • CVE-2021-3489: 該漏洞是由環形緩衝區實現中的錯誤引起的,並且與bpf_ringbuf_reserve函數沒有檢查分配的內存區域的大小小於ringbuf緩衝區的實際大小的可能性有關。 自5.8-rc1發布以來,該問題就很明顯了。

另外, 我們還可以觀察到Linux內核中的另一個漏洞:CVE-2021-32606,其中 允許本地用戶將其特權提升到根級別。 該問題自Linux內核5.11以來就很明顯,並且是由於CAN ISOTP協議實施中的競爭狀況引起的,由於缺乏在i中正確鎖定的配置,因此可以更改套接字綁定參數。sotp_setsockopt() 當標誌被處理時 CAN_ISOTP_SF_BROADCAST.

一旦 插座,ISOTP 繼續綁定到接收器套接字,在釋放關聯的內存後,​​接收者套接字可以繼續使用與套接字關聯的結構(由於結構調用,使用後釋放) isotp_sock 我打電話時已經釋放sotp_rcv()。 通過處理數據,您可以覆蓋函數的指針 sk_error_report() 並在內核級別運行您的代碼。

可以在以下頁面上跟踪發行版中漏洞的修復狀態: Ubuntu, Debian, RHEL, Fedora, SUSE,).

該修補程序也可以作為補丁提供(CVE-2021-3489和CVE-2021-3490)。 問題的解決取決於用戶對eBPF系統的呼叫可用性。 例如,在RHEL的默認設置中,利用此漏洞要求用戶具有CAP_SYS_ADMIN特權。

終於 如果您想了解更多有關它的信息, 您可以查看詳細信息 在下面的鏈接中。


發表您的評論

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

*

*

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