Skip to main content

Linux曝出內核安全漏洞 非特權用戶可獲得root權限

2021-07-22 由【】發表於 科技

在Linux內核中發現瞭一個漏洞,使一些低權限賬戶有可能在一些流行的發行版上獲得root權限,包括Ubuntu、Debian和Fedora都受到瞭影響。該漏洞被命名為Sequoia,它存在於文件系統層。這個安全問題被認為影響瞭自2014年以來發佈的所有版本的Linux內核,這意味著大量的發行版都有漏洞。具體來說,該漏洞是一個size_t到int的類型轉換漏洞,可以被利用來提升權限。

來自Qualys的安全研究人員寫道:”我們在Linux內核的文件系統層發現瞭一個大小t-int轉換的漏洞:通過創建、掛載和刪除一個總路徑長度超過1GB的深層目錄結構,沒有特權的本地攻擊者可以將10字節的字符串”//deleted”寫到一個正好在vmalloc()ated內核緩沖區開始下面的偏移量-2GB-10B”。

研究人員成功利用瞭這種不受控制的越界寫入,實現瞭在Ubuntu 20.04、Ubuntu 20.10、Ubuntu 21.04、Debian 11和Fedora 34工作站的默認安裝上獲得瞭完全的root權限;其他Linux發行版當然也有漏洞,而且可能被利用。利用這一漏洞完成提權需要大約5GB的內存。

Qualys已經發佈瞭一個概念驗證程序,可以在這裡找到:

https://www.qualys.com/2021/07/20/cve-2021-33909/cve-2021-33909-crasher.c

安全研究人員提供瞭一個解決方法的細節,但指出他們 “隻阻止瞭我們的特定漏洞的利用方法(但可能存在其他的利用技術)”。

將/proc/sys/kernel/unprivileged_userns_clone設置為0,以防止攻擊者在用戶名稱空間掛載一個長目錄。然而,攻擊者可能會通過FUSE掛載一個長目錄;但這可能是徒勞的,因為systemd的CVE-2021-33910漏洞還沒有修復:如果攻擊者通過FUSE掛載一個長目錄(超過8MB),那麼systemd就會耗盡其堆棧,崩潰,從而使整個操作系統崩潰。

將 /proc/sys/kernel/unprivileged_bpf_disabled 設為 1,以防止攻擊者將 eBPF 程序加載到內核。然而,攻擊者可能會破壞其他vmalloc()ated對象(例如,線程堆棧)。

Qualys說,為瞭完全修復這個漏洞,內核必須打上補丁,這還需要內核團隊確認、修復並公開新的版本。