信息來源:Freebuf
“新的漏洞通告發(fā)了!快喊運維去打補丁?!?
運維:
雖然運維慘兮兮,但“這可能是近期內(nèi)最需要重視的sudo漏洞?!币驗檫@次的sudo漏洞CVE-2021-3156能夠允許任何本地用戶不需要身份驗證就可以獲得root權限。
任何本地用戶都可以獲取root權限
sudo是一個Unix程序,可以讓系統(tǒng)管理員為sudoers文件中列出的普通用戶提供有限的root權限,同時保留其活動日志。它按照“最小特權原則”工作,在該原則下,該程序僅授予人們足夠完成工作的權限,而不會損害系統(tǒng)的整體安全。
當在類似Unix的OS上執(zhí)行命令時,非特權用戶如果具有權限或知道超級用戶的密碼,就可以使用sudo命令來執(zhí)行root權限命令。通過將sudoers配置文件包括在內(nèi),還可以將Sudo設置為允許普通用戶像其他任何超級用戶一樣運行命令。
Qualys的安全研究人員發(fā)現(xiàn)了名為“Baron Samedit”(CVE-2021-3156)的sudo提權漏洞,該漏洞研究人員于1月13日披露了此漏洞,并確保在公開發(fā)現(xiàn)內(nèi)容之前先發(fā)布補丁程序。
Qualys研究人員認為,此問題是任何本地用戶(普通用戶和系統(tǒng)用戶,無論是否在sudoers文件中列出)都可以利用基于堆的緩沖區(qū)溢出,攻擊者無需知道用戶密碼即可獲得root權限。
sudo錯誤地轉(zhuǎn)義了參數(shù)中反斜杠,從而導致緩沖區(qū)溢出。
1.9.5p2更改日志顯示:“通常,通過外殼(sudo -s或sudo -i)運行命令時,sudo會轉(zhuǎn)義特殊字符。”“但是,也可以使用-s或-i標志運行sudoedit,在這種情況下,實際上并沒有進行轉(zhuǎn)義,這使得緩沖區(qū)溢出成為可能?!?
Qualys針對CVE-2021-3156漏洞進行了三次測試,以展示潛在的攻擊者如何成功利用此漏洞。使用這些漏洞,研究人員能夠在多個Linux發(fā)行版上獲得完整的root權限,包括Debian 10(sudo 1.8.27),Ubuntu 20.04(sudo 1.8.31)和Fedora 33(sudo 1.9.2)。
根據(jù)Qualys的說法,攻擊者在sudo支持的其他操作系統(tǒng)和發(fā)行版也可能利用該漏洞。
Qualys在周二發(fā)布的CVE-2021-3156安全公告中提供了有關如何利用CVE-2021-3156的更多技術細節(jié)。
下面是如何利用CVE-2021-3156嚴重漏洞的視頻演示。
漏洞在被披露前已修復
該漏洞是9年前(2011年7月)在sudo程序中引入的,提交為8255ed69。
影響版本包含:
-sudo:sudo: 1.8.2 - 1.8.31p2
-sudo:sudo: 1.9.0 - 1.9.5p1
sudo貢獻者在今天早些時候發(fā)布的sudo 1.9.5p2版本中已修復了漏洞,與此同時Qualys公開了他們的發(fā)現(xiàn)。
要測試系統(tǒng)是否易受攻擊,必須以非root用戶身份登錄并運行“ sudoedit -s / ”命令。易受攻擊的系統(tǒng)將引發(fā)以“ sudoedit:”開頭的錯誤提示,而已修補系統(tǒng)將顯示以“ usage:”開頭的錯誤提示。
建議
使用sudo且將root權限委派給其用戶的系統(tǒng)管理員應立即升級到sudo 1.9.5p2或更高版本。
在2019年,另一個sudo漏洞(漏洞名稱為 CVE-2019-14287 )允許無特權的用戶以root身份執(zhí)行命令。
幸運的是,該缺陷只能在非標準配置中利用,這意味著大多數(shù)運行易受攻擊的sudo版本的系統(tǒng)都不會受到影響。