他們在 Linux 中發現了一個允許提權的 VFS 漏洞

幾天前 有消息稱漏洞已被發現 (已在 CVE-2022-0185 下編目)和n 文件系統上下文 API 由提供 Linux內核 這可能允許本地用戶在系統上獲得 root 權限。

有人提到 問題是非特權用戶可以在隔離容器中獲得此類權限 如果系統上啟用了對用戶命名空間的支持。

例如,在 Ubuntu 和 Fedora 上默認啟用用戶命名空間,但在 Debian 和 RHEL 上未啟用(除非使用容器隔離平台)。 除了提權之外,如果容器具有 CAP_SYS_ADMIN 權限,該漏洞還可以用於突破隔離容器。

脆弱性 存在於 VFS 的函數 legacy_parse_param() 中 並且是由於對不支持文件系統上下文 API 的文件系統上提供的參數的最大大小缺乏適當的驗證。

最近我和 CTF Crusaders of Rust 團隊的幾個朋友遇到了 0-day Linux 內核堆溢出。 我們通過對 syzkaller 進行模糊測試發現了該漏洞,並迅速將其開發為 Ubuntu LPE 漏洞利用程序。 然後我們重寫了它以逃避和根植谷歌強化的 Kubernetes CTF 基礎設施。 此錯誤影響自 5.1 以來的所有內核版本(5.16 目前正在進行中)並已分配 CVE-2022-0185。 我們已經向 Linux 發行版和安全郵件列表報告了此問題,並且該錯誤已在本文發佈時得到修復。

傳遞過大的參數會導致溢出 用於計算正在寫入的數據大小的整數變量; 該代碼有一個“if (len > PAGE_SIZE - 2 - size)”緩衝區溢出檢查,如果大小值大於 4094,由於整數溢出下限(整數溢出,當轉換 4096 – 2 – 4095 到無符號整數,得到 2147483648)。

此錯誤允許在訪問特製 FS 映像時, 導致緩衝區溢出並覆蓋分配的內存區域之後的內核數據。 要利用該漏洞,需要CAP_SYS_ADMIN權限,即管理員權限。

到 2022 年,我們的隊友下定決心要找到 0 年的第 2022 天。我們不太確定如何開始,但由於我們的團隊對 Linux 內核漏洞非常熟悉,所以我們決定只購買一些專用服務器。 並運行 Google 的 syzkaller fuzzer。 太平洋標準時間 6 月 22 日晚上 30:0,chop6 在 legacy_parse_param 中收到以下 KASAN 故障報告:slab-out-of-bounds Write in legacy_parse_param。 看來syzbot在fuzzing Android時才XNUMX天前發現了這個問題,但問題沒有得到處理,我們天真地以為沒有其他人注意到。

最後,值得一提的是,這個問題從 Linux 內核版本 5.1 開始就已經顯現出來,並且在幾天前發布的 5.16.2、5.15.16、5.10.93、5.4.173 版本的更新中得到了解決。

除此之外 漏洞包更新已經發布RHELDebian軟呢帽和 Ubuntu. 雖然該解決方案尚不可用 Arch LinuxGentoo的SUSE y openSUSE。

在這些情況下,提到作為不使用容器隔離的系統的安全解決方案,您可以將 sysctl "user.max_user_namespaces" 的值設置為 0:

發現問題的研究人員發表了 漏洞利用演示 que 允許以默認配置在 Ubuntu 20.04 上以 root 身份運行代碼。 計劃是 漏洞利用代碼在一周後發佈在 GitHub 上 該發行版發布了修復漏洞的更新。

終於 如果您有興趣了解更多信息,您可以在中查看詳細信息 以下鏈接。


發表您的評論

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

*

*

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

  1.   GALEGO 他說:

    另一個不用棍子碰按扣的原因。