OverlayFS 中允許權限提升的漏洞

Linux 內核在 OverlayFS 文件系統 (CVE-2023-0386) 的實現中發現了一個漏洞,該漏洞可用於在安裝了 FUSE 子系統的系統上獲得 root 訪問權限,並允許非特權用戶安裝 OverlayFS 分區用戶(從包含非特權用戶命名空間的 Linux 5.11 內核開始)。 該問題已在 6.2 內核分支中得到修復。 可以在以下頁面上跟踪發行版中軟件包更新的發布:Debian、Ubuntu、Gentoo、RHEL、SUSE、Fedora、Arch。

攻擊是通過將帶有 setgid/setuid 標誌的文件從以 nosuid 模式安裝的分區復製到 OverlayFS 分區來執行的,該分區具有與允許 suid 文件執行的分區關聯的層。 該漏洞類似於2021年發現的CVE-3847-2021問題,但不同之處在於較低的利用要求——舊問題需要使用xattrs進行操作,僅限於使用用戶命名空間(user namespace),新問題使用bits setgid /setuid 沒有在用戶命名空間中專門處理。

攻擊算法:

  • 在 FUSE 子系統的幫助下,掛載了一個文件系統,其中有一個由 root 用戶擁有的帶有 setuid / setgid 標誌的可執行文件,可供所有用戶寫入。 安裝時,FUSE 將模式設置為“nosuid”。
  • 取消共享用戶命名空間和掛載點(用戶/掛載命名空間)。
  • OverlayFS以之前在FUSE中創建的FS為底層掛載,頂層基於可寫目錄。 頂層目錄必須位於掛載時不使用“nosuid”標誌的文件系統中。
  • 對於 FUSE 分區中的 suid 文件,touch 實用程序會更改修改時間,從而導致將其複製到 OverlayFS 的頂層。
  • 複製時,內核沒有去掉setgid/setuid標誌位,導致文件出現在setgid/setuid可以處理的分區上。
  • 要獲得 root 權限,從附加到 OverlayFS 頂層的目錄運行帶有 setgid/setuid 標誌的文件就足夠了。

此外,我們可以注意到 Google 零項目團隊的研究人員披露了有關 Linux 5.15 內核主要分支中已修復但未移植到 RHEL 8.x/9.x 和內核包的三個漏洞的信息CentOS 流 9。

  • CVE-2023-1252 - 訪問 ovl_aio_req 結構中已釋放的內存區域,同時在部署在 Ext4 文件系統之上的 OverlayFS 中同時執行多個操作。 潛在地,該漏洞允許您增加您在系統中的權限。
  • CVE-2023-0590 - 引用 qdisc_graft() 函數中已釋放的內存區域。 假定操作僅限於中止。
  • CVE-2023-1249 - 由於 file_files_note 中缺少 mmap_lock 調用,訪問 coredump 入口代碼中已釋放的內存區域。 假定操作僅限於中止。

來源: opennet.ru

添加評論