信息發布了一個 在 Linux 內核中檢測到漏洞 在 OverlayFS 文件系統實現中(在 CVE-2023-0386 下列出)。
失敗 可用於獲得root訪問權限 在安裝了 FUSE 子系統並允許非特權用戶安裝 OverlayFS 分區的系統上(從包含非特權用戶命名空間的 Linux 內核 5.11 開始)。
進攻 通過使用 setgid/setuid 標誌複製文件來完成 從以 nosuid 模式掛載的分區到 OverlayFS 分區,該分區具有與允許執行 suid 文件的分區關聯的層。
在 Linux 內核中發現了一個缺陷,即在 Linux 內核的 OverlayFS 子系統中發現未經授權訪問具有功能的 setuid 文件的執行,形式為用戶將文件從一個 nosuid 掛載複製到另一個掛載。 此 uid 映射錯誤允許本地用戶增加他們在系統上的權限。
脆弱性 類似於 2021 年發現的問題 CVE-3847-2021, 但在較低的利用要求方面有所不同:舊問題需要對 xattrs 進行操作,這僅限於使用用戶名稱空間 (usernamespace),而新問題使用 setgid /setuid 位,這些位未在用戶名空間中專門處理。
在 Linux 機器上擁有低權限用戶的攻擊者,其覆蓋掛載在其中一層具有文件功能,可以通過將兼容文件從一個 nosuid 掛載複製到另一個掛載,將他們的權限提升到 root。 該漏洞與CVE-2021-3847類似,但運行所需權限較少,因此優先級較高。
攻擊算法:
- 在 FUSE 子系統的幫助下,掛載了一個文件系統,其中有一個由 root 用戶擁有的帶有 setuid / setgid 標誌的可執行文件,可供所有用戶寫入。 安裝時,FUSE 將模式設置為“nosuid”。
- 停止共享用戶命名空間和掛載點(用戶/掛載命名空間)。
- OverlayFS 掛載之前在 FUSE 中創建的 FS 作為底層和頂層,具體取決於寫入目錄。 頂層目錄必須位於掛載時不使用“nosuid”標誌的文件系統。
- 對於 FUSE 分區中的 suid 文件,touch 實用程序更改修改時間,將其副本帶到 OverlayFS 的頂層。
- 複製時,內核沒有去掉setgid/setuid標誌位,導致文件出現在setgid/setuid可以處理的分區中。
- 要獲得 root 權限,只需從附加到 OverlayFS 頂層的目錄中運行帶有 setgid/setuid 標誌的文件。
關於 漏洞解決方案,應該提到的是,這 它在 6.2 內核分支中得到修復。 如果您想了解更多有關在發行版中發布包更新的信息,您可以在以下頁面上查看: Debian, Ubuntu, Gentoo的, RHEL, SUSE, Fedora, 拱 .
另外, 我們可以指出 來自谷歌零項目團隊研究人員的信息 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 調用,訪問轉儲輸入代碼中已釋放的內存區域。 該操作應該僅限於中止。