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