一、漏洞情况
sudo堆溢出漏洞(CVE--3156),漏洞隐藏十年之久,在sudo解析命令行参数的方式中发现了基于堆的缓冲区溢出。任何本地用户(普通用户和系统用户,sudoer和非sudoers)都可以利用此漏洞,而无需进行身份验证,攻击者不需要知道用户的密码。成功利用此漏洞可以获得root权限。
二、影响范围
Sudo 1.9.0 到 1.9.5p1 所有稳定版(默认配置)
Sudo 1.8.2 到 1.8.31p2 所有旧版本(默认配置)
经查看,
rhel5.11的sudo版本是1.7.2
rhel6的sudo版本是1.8.6
rhel7.4的sudo版本是1.8.23
这样看影响的操作系统应该是rhel6以上
此次尝试以rhel6.8 64版本为实例,进行sudo的1.9.5p2的编译安装升级
三、确认版本、修复漏洞
利用网上提供的查询命令未找到相对应报错
sudo -s /
显示结果如下
1.下载对应安装包,sudo-1.9.5p2.tar.gz
2.解压
3.开始编译安装
tar -zxvf sudo-1.9.5p2.tar.gz
./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
make install
文件连接,网上提供的命令是这个
ln -sfv libsudo_util.so.0.0.0 /usr/lib/sudo/libsudo_util.so.0
实际目录中libsudo_util.so.0.0.0存在于
lib/util/.libs/下,
此次尝试是直接将该文件复制到指定目录下
cp lib/util/.libs/libsudo_util.so.0.0.0 /usr/lib/sudo/libsudo_util.so.0
完成升级,查看版本信息
sudo -V已显示升级后版本