sudo外地提权误差(CVE-2021-3156)
宣布时间 2021-01-270x00 误差概述
CVE ID | CVE-2021-3156 | 时 间 | 2021-01-27 |
类 型 | 权限提升 | 等 级 | 高危 |
远程使用 | 否 | 影响规模 |
0x01 误差详情

Sudo是一个功效强盛的工具,其允许通俗用户执行root权限下令,大大都基于Unix和Linux的操作系统都包括sudo。
2021年01月26日,sudo被披露保存一个基于堆的缓冲区溢出误差(CVE-2021-3156,该误差被命名为“Baron Samedit”),可导致外地权限提升。
当在类Unix的操作系统上执行下令时,非root用户可以使用sudo下令来以root用户身份执行下令。由于sudo过失地在参数中转义了反斜杠导致堆缓冲区溢出,从而允许任何外地用户(无论是否在sudoers文件中)获得root权限,无需举行身份验证,且攻击者不需要知道用户密码。
清静研究职员于1月26日果真披露了此误差,并体现该误差已经隐藏了近十年。
影响规模
Sudo 1.8.2 - 1.8.31p2
Sudo 1.9.0 - 1.9.5p1
测试系统是否易受此误差影响:
1. 以非root用户身份登录系统。
2. 运行下令“sudoedit -s /”
3. 若是泛起以“ sudoedit:”开头的过失响应,则系统受到此误差影响;若是泛起以“ usage:”开头的过失响应,则体现该误差已被补丁修复。
0x02 处置惩罚建议
建议实时升级sudo至最新版本。
下载链接:
https://www.sudo.ws/dist/
暂时步伐(RedHat)
1.装置所需的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
2.建设以下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)
#nohup stap -g sudoedit-block.stap&
这将输出systemtap剧本的PID编号,该剧本将导致易受攻击的sudoedit二进制文件阻止事情,sudo下令仍将照常事情。
注重,上述更改会在重启后失效,必需在每次重启后重新应用。
4.一旦装置了补丁程序,就可以通过终止systemtap历程来删除systemtap剧本。例如,通过使用以下下令,其中7590是systemtap历程的PID。
#kill -s SIGTERM 7590
0x03 参考链接
https://blog.qualys.com/vulnerabilities-research/2021/01/26/cve-2021-3156-heap-based-buffer-overflow-in-sudo-baron-samedit
https://access.redhat.com/security/cve/CVE-2021-3156
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-3156
https://www.bleepingcomputer.com/news/security/new-linux-sudo-flaw-lets-local-users-gain-root-privileges/
0x04 时间线
2021-01-26 Qualys披露误差
2021-01-27 RedHat宣布清静通告
2021-01-27 VSRC宣布清静通告
0x05 附录
CVSS评分标准官网:http://www.first.org/cvss/



京公网安备11010802024551号