1,问题描述
奇安信CERT监测到RedHat发布了sudo堆缓冲区溢出的风险通告,漏洞编号为CVE-2021-3156。在大多数基于Unix和Linux的操作系统中都包含sudo,目前已有利用该漏洞将nobody权限提升到root权限的视频。据说危害较大,建议安装补丁。具体细节可以参考:原文
影响到的sudo版本是:
– sudo:sudo: 1.8.2 – 1.8.31p2 – sudo:sudo: 1.9.0 – 1.9.5p1
很不幸,发现自己的sudo版本就是在影响范围内。
按照教程的说法,输入命令:
sudoedit –s /
#如果回显错误以“sudoedit:”开头表示有问题,如果对系统打入补丁后该错误回显将以“usage”开头。
2,解决方案
获取补丁包: ps:此处稍有疑问,此补丁包分不分系统?ubuntu,readhat?分不分ubuntu18或者ubuntu20,寻觅良久未找到答案,遂决定直接装上试试
wget http://www.sudo.ws/dist/sudo-1.9.5p2.tar.gz
安装:
tar -xzvf sudo-1.9.5p2.tar.gz #解包到当前文件夹,我们得到sudo-1.9.5p2 cd sudo-1.9.5p2 ./configure --prefix=/usr --libexecdir=/usr/lib --with-secure-path --with-all-insults --with-env-editor --docdir=/usr/share/doc/sudo-1.9.5p2 --with-passprompt="[sudo] password for %p: " #设置编译的时候的参数,注意,引号里最后一句话,不是让你输入密码,而是需要你输入密码的时候,系统给你的提示字符,所以就保持这样,不要乱填。 make sudo make install sudo ln -sfv libsudo_util.so.0.0.0 /usr/lib/sudo/libsudo_util.so.0 #给动态库libsudo_util.so.0.0.0创建一个软链接,软链接名字叫libsudo_util.so.0,位置在/usr/lib/sudo下
测试:
sudo --version #我得到的是: #Sudo version 1.9.5p2 #Sudoers policy plugin version 1.9.5p2 #Sudoers file grammar version 48 #Sudoers I/O plugin version 1.9.5p2 #Sudoers audit plugin version 1.9.5p2 #看起来没啥问题,
3,其他问题
如上安装方式看起来是没啥问题,但是,当我输入:sudoedit –s / 的时候,拿到的回显仍然是以sudoedit开头,并不是传说中的usage开头,此处表示纳闷。