Linux 核心中新發現的名為「CIFSwitch」的本機權限提升漏洞可能允許攻擊者偽造 CIFS 驗證金鑰描述,濫用核心的金鑰請求機制,並取得 root 權限。這個問題會影響多個 Linux 發行版,這些發行版提供了核心 CIFS 和 cifs-utils 的易受攻擊組合(版本 6.14 及更高版本,儘管一些較舊的變體也受到影響)。
CIFS(通用互聯網檔案系統)是一種網路協議,允許透過本地網路存取檔案、資料夾和裝置。 Linux 使用 CIFS 來掛載、讀取和寫入遠端系統的資料。如果 CIFS 網路共用使用 Kerberos 進行驗證,Linux 核心會請求使用者空間中的輔助程式執行驗證,而 cifs-utils 使用者空間工具集則充當中間人。
發現了 Linux 中 CIFSwitch 權限漏洞的SpaceX 安全工程師 Asim Viladi Oglu Manizada 解釋道:「核心會請求一個 cifs.spnego 類型的金鑰,而正常的 keyutils/request-key 配置會以 root 使用者身分執行 cifs.upcall 來取得或建構 Kerberos/SPNEGO 材料。」
研究人員表示,問題在於 Linux 核心的 CIFS 子系統未能驗證 cifs.spnego 金鑰請求是否來自核心的 CIFS 用戶端。因此,非特權使用者可以建立偽造的 cifs.spnego 請求並觸發正常的身份驗證工作流程。
cifs.spnego 金鑰請求由 Linux 金鑰環子系統用於取得 CIFS/SMB 用戶端在使用 Kerberos/SPNEGO 驗證連接到網路共用時所需的驗證資料。該漏洞允許具有 root 權限的 cifs.upcall 輔助程式信任攻擊者控制的字段,而它卻認為這些字段是由核心產生的。透過濫用這些欄位強制進行命名空間切換,然後在權限被釋放之前觸發名稱服務切換 (NSS) 查找,本地攻擊者可以載入惡意 NSS 模組並實作 root 程式碼執行。
Manizada 發表了一份詳盡的技術報告,解釋了該問題的原因以及如何利用該問題來獲取 root 權限。Manizada 確認以下一些發行版在其預設配置下存在漏洞:
✔ Linux Mint 21.3 / 22.3
✔ CentOS Stream 9
✔ Rocky Linux 9
✔ AlmaLinux 9
✔ Kali Linux 2021.4–2026.1
✔ SLES 15 SP7
研究人員指出,如果安裝了“cifs-utils”,各種 Ubuntu、Debian、Pop!_OS、openSUSE、Oracle Linux 和 Amazon Linux 版本也可能存在漏洞。
然而,也有一些版本,例如 Ubuntu 26.04、Fedora 40-44、CentOS Stream 10、Rocky Linux 10、SLES 16、AlmaLinux 10 和 openSUSE Leap 16,其中預設的 SELinux/AppArmor 設定可以防止 CIFSwitch 的利用。此外,Amazon Linux 2 和 Kali Linux 2019.4 和 2020.4 完全不受影響,因為它們的 cifs-utils 版本缺少命名空間切換功能。
CIFSwitch 已透過核心補丁修復,該補丁增加了對 cifs.spnego 請求來源的驗證(上游提交 3da1fdf),但每個發行版附帶該補丁的確切核心版本各不相同。研究人員建議使用者如果未使用 CIFS 模組,則停用或將其列入黑名單;如果不需要,則刪除 cifs-utils 軟體包;並停用非特權使用者命名空間。
Manizada 發布了CIFSwitch 的概念驗證 (PoC)漏洞程序,可以幫助組織驗證所應用的修補程式和緩解措施的有效性。CIFSwitch 是近期披露的一系列影響 Linux 系統的權限提升漏洞中的最新一個,其他漏洞包括「Copy Fail」、「Dirty Frag」、「Fragnesia 」 、「DirtyDecrypt」和「PinTheft」。
資料來源:https://www.bleepingcomputer.com/news/security/new-cifswitch-linux-flaw-gives-root-on-multiple-distributions/