“新的漏洞通告發(fā)了!快喊運(yùn)維去打補(bǔ)丁,。”
雖然運(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)限或知道超級(jí)用戶的密碼,,就可以使用sudo命令來執(zhí)行root權(quán)限命令,。通過將sudoers配置文件包括在內(nèi),還可以將sudo設(shè)置為允許普通用戶像其他任何超級(jí)用戶一樣運(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ū)溢出成為可能?!?/p>
Qualys針對(duì)CVE-2021-3156漏洞進(jìn)行了三次測(cè)試,,以展示潛在的攻擊者如何成功利用此漏洞。使用這些漏洞,,研究人員能夠在多個(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é),。
漏洞在被披露前已修復(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),。
要測(cè)試系統(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)立即升級(jí)到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ì)受到影響,。