问题描述
2021年1月27日,RedHat爆出 sudo 工具存在缓冲区/栈溢出漏洞的风险通告,漏洞编号CVE-2021-3156,漏洞等级为高危。
任何本地用户(普通用户和系统用户,sudoer和非sudoers)都可以利用此漏洞,而无需进行身份验证,攻击者不需要知道用户的密码。成功利用此漏洞可以获得root权限。
用户可以使用如下方法进行自查:
1.sudo -V查看版本,如果版本在: Sudo 1.9.0 到 1.9.5p1 所有稳定版(默认配置) Sudo 1.8.2 到 1.8.31p2 所有旧版本(默认配置) 之间,则sudo受影响。 建议升级到sudo 1.9.5p2及更高版本来修复漏洞。 2.以一个拥有sudo权限的非root用户登录系统,并执行命令sudoedit -s / – 如果响应一个以sudoedit:开头的报错,那么表明存在漏洞。 – 如果响应一个以usage:开头的报错,那么表明补丁已经生效。
本次使用安装环境为:CentOS Linux release 7.9.2009 (Core)
1.查看现sudo版本
sudo --version
2.如果没有gcc编译环境,请运行以下命令进行安装(注意:如果没有环境执行后面命令会出现报错)
yum install gcc -y
3.卸载sudo在卸载之前记得备份好数据(卸载sudo后请勿重启或者关闭SSH连接窗口,否则可能会导致无法进入root权限,安装更新失败可使用yum install sudo进行sudo的安装)
rpm -e sudo
4.将安装包上传至至home目录进行解压(上传目录没有规定也可上传至自己常用目录)
安装包下载地址https://www.sudo.ws/download.html
5.进入解压好的目录依次运行下面命令
1、./configure --prefix=/opt/sudo --libexecdir=/usr/libexec --with-secure-path --with-all-insults --with-env-editor --docdir=/usr/share/doc/sudo-1.9.5p2 --with-passprompt="[sudo] password for %p: "
make && make install
2、make && make install
3、ln -sfv libsudo_util.so.0.0.0 /usr/libexec/sudo/libsudo_util.so.0
4、ln -sfv /opt/sudo/bin/sudo /usr/bin/
6.完成后查看版本是否升级成功