1. 程式人生 > 實用技巧 >Linux曝出Sudo提權漏洞 任意使用者亦可執行root命令

Linux曝出Sudo提權漏洞 任意使用者亦可執行root命令

作為 Linux 中最常使用的重要實用程式之一,Sudo 幾乎安裝在每一款 UNIX 和 Linux 發行版上,以便使用者呼叫和實施核心命令。 然而近期曝出的一個提權漏洞,卻直指 sudo 的一個安全策略隱患 —— 即便配置中明確不允許 root 使用者訪問,該漏洞仍可允許惡意使用者或程式,在目標 Linux 系統上以 root 使用者身份執行任意命令。

(題圖 via Hacker News )

據悉,Sudo 特指“超級使用者”。作為一個系統命令,其允許使用者以特殊許可權來執行程式或命令,而無需切換使用環境(通常以 root 使用者身份執行命令)。

預設情況下,在大多數 Linux 發行版中(如螢幕快照所示),/ etc / sudoers 的 RunAs 規範檔案中的 ALL 關鍵字,允許 admin 或 sudo 分組中的所有使用者,以系統上任何有效使用者的身份執行任何命令。

然而由於特權分離是 Linux 中最基本的安全範例之一,因此管理員可以配置 sudoers 檔案,來定義哪些使用者可以執行哪些命令。

這樣一來,基板限制了使用者以 root 身份執行特定或任何命令,該漏洞也可允許使用者繞過此安全策略,並完全控制系統。

Sudo 開發者稱: “只要 Runas 規範明確禁止 root 訪問、首先列出 ALL 關鍵字,具有足夠 sudo 許可權的使用者就可以使用它來以 root 身份執行命令。”

據悉,該漏洞由 蘋果 資訊保安部門的 Joe Vennix 追蹤發現(CVE-2019-14287)。且想要利用這個 bug,只需 Sudo User ID -1 或 4294967295 。

這是因為將使用者 ID 轉換為使用者名稱的函式,會將 -1(或無效等效的 4294967295)誤認為 0,而這正好是 root 使用者 User ID 。

此外,由於通過 -u 選項指定的 User ID 在密碼資料庫中不存在,因此不會執行任何 PAM 會話模組。

綜上所述,該漏洞影響最新版本 1.8.28 之前的所有 Sudo 版本。慶幸的是,幾個小時前,各大 Linux 發行版都已經在向用戶推送新版本了。

好了,本文結束,感謝大家對碼農教程網站的支援!