近日,Qualys研究小組發(fā)現了sudo中一個隱藏了十年的堆溢出漏洞(CVE-2021-3156,命名:Baron Samedit),包括Linux在內的幾乎所有Unix主流操作系統都存在該漏洞。通過利用此漏洞,任何沒有特權的用戶都可以使用默認的sudo配置在易受攻擊的主機上獲得root特權(無需密碼)。
Sudo是一個功能強大的實用程序,大多數(如果不是全部)基于Unix和Linux的操作系統都包含Sudo。它允許用戶使用其他用戶的root權限運行程序。Qualys發(fā)現的這個sudo提權漏洞已經隱藏了將近十年,它于2011年7月在一次提交中被引入(提交8255ed69),在默認配置下會影響從1.8.2到1.8.31p2的所有舊版本,以及從1.9.0到1.9.5p1的所有穩(wěn)定版本。
通過利用該漏洞,任何沒有特權的(本地)用戶都可以在易受攻擊的主機上獲得root特權。Qualys安全研究人員已經能夠獨立驗證漏洞并開發(fā)多種利用形式,并在Ubuntu 20.04(Sudo 1.8.31)、Debian 10(Sudo 1.8.27)和Fedora 33(Sudo 1.9.2)上獲得完整的root用戶特權。其他操作系統和發(fā)行版也可能會被利用。
Qualys研究小組確認該漏洞后,進行了負責任的漏洞披露,并與sudo的作者和開源發(fā)行版進行了協調以宣布該漏洞。
披露時間表(UTC):
Qualys在官方博客(https://blog.qualys.com/vulnerabilities-research/2021/01/26/cve-2021-3156-heap-based-buffer-overflow-in-sudo-baron-samedit)提供了漏洞的更多細節(jié)和概念證明視頻。
考慮到該漏洞的攻擊面很廣,Qualys建議所有用戶立即為此漏洞應用補丁,以下版本的sudo容易受到攻擊:
用戶可以通過以下方法測試系統是否易受攻擊。
以非root用戶身份登錄系統,運行命令“sudoedit-s/”。如果系統容易受到攻擊,它將返回以“sudoedit”開頭的錯誤提示。如果系統已打補丁,它將返回以“usage”開頭的錯誤提示。
參考資料
https://www.sudo.ws/alerts/unescape_overflow.html
https://blog.qualys.com/vulnerabilities-research/2021/01/26/cve-2021-3156-heap-based-buffer-overflow-in-sudo-baron-samedit