netfilter 子系統中允許在 Linux 核心層級執行程式碼的漏洞

Netfilter 是 Linux 核心的一個子系統,用於過濾和修改網路封包,該子系統存在一個允許在核心層級執行程式碼的漏洞 (CVE-2022-25636)。據宣布,已準備好一個漏洞利用範例,允許本地用戶在禁用 KASLR 保護機制的情況下在 Ubuntu 21.10 中提升權限。從內核 5.4 開始出現此問題。該修復仍然可以作為補丁使用(尚未產生修正內核版本)。您可以在以下頁面關注發行版中軟體包更新的發布:Debian、SUSE、Ubuntu、RHEL、Fedora、Gentoo、Arch Linux。

這個漏洞是由於nft_fwd_dup_netdev_offload 函數(在檔案net/netfilter/nf_dup_netdev.c 中定義)中計算flow->rule->action.entries 陣列大小時出現錯誤導致的,該錯誤可能會導致攻擊者控制的資料被洩露.寫入超出分配緩衝區邊界的記憶體區域。在使用封包處理硬體加速(卸載)的鏈中配置“dup”和“fwd”規則時,會發生此錯誤。由於溢位發生在建立封包過濾規則和檢查卸載支援之前,因此該漏洞也適用於不支援硬體加速的網路設備,例如環回介面。

值得注意的是,該問題很容易利用,因為超出緩衝區的值可以覆蓋指向 net_device 結構的指針,並且有關覆蓋值的數據將返回到用戶空間,這使您可以找到地址存儲在執行攻擊所需的內存中。利用該漏洞需要在 nftables 中建立某些規則,這只能透過 CAP_NET_ADMIN 權限來實現,而非特權使用者可以在單獨的網路命名空間中獲得該權限。此漏洞也可用於攻擊容器隔離系統。

來源: opennet.ru

添加評論