Netfilter 中的漏洞允許系統權限升級

漏洞

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

幾天之前e 發布了有關發現漏洞的消息 子系統 網絡過濾器 (用於攔截和操縱網路資料包),該漏洞 編目為 CVE-2023-6817 它的嚴重性評分為 7.8,代表著需要考慮的威脅,因為它允許本地用戶升級其在系統上的權限。

Netfilter 是一個關鍵元件,充當看門人的角色,管理網路堆疊中的資料包流並促進各種操作,例如修改地址、丟棄資料包和記錄活動。

有人提到 失敗可能會導致釋放後使用的情況,一種危險的場景,系統在釋放內存後繼續使用內存,這為攻擊者利用該故障創造了條件,還可能導致應用程序崩潰、信息洩露,或者換句話說,更令人擔憂的是升級的本地特權。

脆弱性 從 Linux 核心版本 5.6 開始出現 (不包括 Linux 5.10.204),以及 Linux 5.11(不含 Linux 5.15.143)、Linux 5.16(不含 Linux 6.1.68)、Linux 6.2(不含 6.6.7)以及 RC1、2、3 和Linux 4的6.7 版(儘管後者已經發布了其穩定版本,但該漏洞自RC5 以來已解決)。

關於這個問題,有提到 我知道這是由於 nf_tables 模組中免費使用後的記憶體存取造成的, 這是由 nftables 封包過濾器提供的,是由於一個錯誤造成的 在 nft_pipapo_walk 函數中, 由於元素迭代的過程 PIPAPO (堆包策略) 在對其進行操作之前不驗證元素的活動,l或可能導致釋放後使用漏洞。

其他集合後端中的nft_rhash_walk() 函數在集合遍歷期間也不會跳過不活動的元素,因此,可以在事務中呼叫NFT_MSG_DELSETELEM 命令兩次,以刪除該集合中的每個元素兩次,從而導致雙重釋放 1

如果後端是 pipapo 數組,則會呼叫 nft_pipapo_walk()。此函數在操作元素之前不會檢查元素的活動,就像其他集合後端中的類似函數一樣,例如 nft_rhash_walk()。因此,可以在交易中呼叫 NFT_MSG_DELSETELEM 命令兩次,以刪除該集合中的每個元素兩次,從而導致雙重釋放。

此外,也提到,要讓漏洞利用過程成功, 此攻擊需要存取nftables,可以透過擁有CAP_NET_ADMIN權限來獲得 在任何使用者命名空間或網路命名空間中,例如可以在隔離容器中提供。為了演示漏洞,已發布原型漏洞進行測試。

最後,應該提到的是 該裁決早在披露前就已解決, 因為正如我們所提到的, Linux核心6.7-rc5的測試版本中提出了對此漏洞的修復。 並遷移到目前穩定的 Linux 分支 5.10.204、5.15.143、6.1.68 和 6.6.7。

據稱,該解決方案涉及對「nft_pipapo_walk」函數的操作模式進行一些更改,因為為了解決該錯誤,它必須在已建立的遍歷期間省略不活動的元素。這種方法有效地防止了PIPAPO(Pile Packet Policies)元素的雙重停用,從而消除了發布後使用的情況。

最後但並非最不重要的一點是,正如我們一貫所做的那樣,我們建議所有親愛的讀者實施相關的修正,因為雖然該漏洞很難被遠端利用,但實施相應的修正總沒有壞處。

如果你是 有興趣了解更多關於它的信息, 您可以在中查看詳細信息 以下鏈接。對於有興趣測試漏洞原型的人,可以參考這個程式碼 在下面的鏈接中。


發表您的評論

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

*

*

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