了解金山云最新公告
2021-01-27 00:00:00
1月27日,金山云安全應(yīng)急響應(yīng)中心監(jiān)測(cè)到國外安全研究人員披露了一個(gè)sudo 堆緩沖區(qū)溢出致本地提權(quán)的漏洞,漏洞編號(hào)為CVE-2021-3156。
該漏洞幾乎影響所有Linux發(fā)行版,建議使用了sudo的用戶及時(shí)升級(jí)到最新版本或采取相關(guān)措施,避免被黑客攻擊造成損失。
風(fēng)險(xiǎn)等級(jí)
高危
漏洞描述
Sudo是一個(gè)功能強(qiáng)大的實(shí)用程序,大多數(shù)基于Unix和Linux的操作系統(tǒng)都包含sudo。
在sudo解析命令行參數(shù)的方式中發(fā)現(xiàn)了基于堆的緩沖區(qū)溢出。任何本地用戶(包括普通用戶和系統(tǒng)用戶,sudoer和非sudoers)都可以利用此漏洞,無需進(jìn)行身份驗(yàn)證,也不需要知道用戶的密碼,成功利用此漏洞可以獲得root權(quán)限。
影響版本
Sudo1.9.0到 1.9.5p1 所有穩(wěn)定版(默認(rèn)配置)
Sudo1.8.2到 1.8.31p2所有版本
檢測(cè)方法
以非root用戶登錄系統(tǒng),并使用命令sudoedit -s /
- 如果響應(yīng)一個(gè)以sudoedit:開頭的報(bào)錯(cuò),那么表明存在漏洞。
- 如果響應(yīng)一個(gè)以u(píng)sage:開頭的報(bào)錯(cuò),那么表明補(bǔ)丁已經(jīng)生效。
修復(fù)建議
通用方案:
升級(jí)到1.9.5p2 或更新版本,sudo軟件包下載地址:
暫緩方案:
對(duì)于無法立即更新的用戶,建議使用systemtap進(jìn)行以下臨時(shí)緩解:
1. 安裝所需的systemtap軟件包和依賴項(xiàng):
systemtap yum-utils kernel-devel-"$(uname -r)"
對(duì)于RHEL 7,使用命令安裝 kernel debuginfo:debuginfo-install -y kernel-"$(uname -r)"。對(duì)于RHEL 8,使用命令安裝 sudo debuginfo:debuginfo-install sudo。
2. 創(chuàng)建以下systemtap腳本(將文件命名為sudoedit-block.stap):
probe process("/usr/bin/sudo").function("main") {
command = cmdline_args(0,0,"");
if (strpos(command, "edit") >= 0) {
raise(9);
}
}
3. 使用以下命令安裝腳本:(使用root權(quán)限)
# nohup stap -g sudoedit-block.stap &
該腳本將使得易受攻擊的sudoedit二進(jìn)制文件停止工作。sudo命令仍將照常工作。上述更改在重啟后失效,必須在每次重啟后重新應(yīng)用。
4. 一旦安裝了補(bǔ)丁程序,就可以通過取消systemtap進(jìn)程來刪除systemtap腳本。例如,通過使用:
# kill -s SIGTERM 7590 (其中7590是systemtap進(jìn)程的PID)
參考鏈接
[1]https://access.redhat.com/security/cve/CVE-2021-3156
北京金山云網(wǎng)絡(luò)技術(shù)有限公司
2021/01/27