漏洞描述
Sudo是一(yī)個功能強大(dà)的實用程序,大(dà)多數基于Unix和Linux的操作系統都包含Sudo。它允許用戶使用其他用戶的安全特權運行程序。2021年1月27日,阿裏雲應急響應中(zhōng)心監控到國外(wài)安全研究人員(yuán)披露了Sudo 堆緩沖區溢出緻本地提權漏洞,漏洞編号爲 CVE-2021-3156。任何本地用戶(包括普通用戶和系統用戶,sudoer和非sudoers)若成功利用該漏洞,可在無需密碼的情況下(xià)獲得root權限。阿裏雲應急響應中(zhōng)心提醒 sudo 用戶盡快采取安全措施阻止漏洞攻擊。
漏洞評分(fēn)
CVE-2021-3156 高危
影響版本
Sudo 1.9.0 到 1.9.5p1 所有穩定版(默認配置)
Sudo 1.8.2 到 1.8.31p2 所有舊(jiù)版本(默認配置)
安全版本
Sudo 1.9.5p2 或更新版本
安全建議
1. 下(xià)載升級sudo軟件包,下(xià)載鏈接爲: https://www.sudo.ws/dist/
2. 使用 systemtap 執行以下(xià)命令進行臨時緩解:
首先,安裝所需的 systemtap 軟件包和依賴項:
systemtap yum-utils kernel-devel-"$(uname -r)"
然後,對于RHEL 7
,使用命令安裝 kernel debuginfo:debuginfo-install -y kernel-"$(uname -r)"
。
對于RHEL 8
,使用命令安裝 sudo debuginfo:debuginfo-install sudo
。
接着,創建以下(xià) systemtap 腳本,并将文件命名爲 sudoedit-block.stap:
probe process("/usr/bin/sudo").function("main") {
command = cmdline_args(0,0,"");
if (strpos(command, "edit") >= 0) {
raise(9);
}
}
最終,使用root權限以下(xià)命令安裝腳本:
# nohup stap -g sudoedit-block.stap &
該腳本将使得易受攻擊的sudoedit
二進制文件停止工(gōng)作。 sudo命令仍将照常工(gōng)作。上述更改在重啓後失效,必須在每次重啓後重新應用。
一(yī)旦安裝了補丁程序,就可以通過取消systemtap
進程來删除systemtap
腳本。 例如,通過使用:
# kill -s SIGTERM 7590 (其中(zhōng)7590是systemtap進程的PID)
相關鏈接
1. https://www.qualys.com/2021/01/26/cve-2021-3156/baron-samedit-heap-based-overflow-sudo.txt