CentOS 升级sudo版本


一、漏洞介绍

sudo 存在缓冲区溢出漏洞。攻击者在取得服 务器基础权限的情况下,可以利用 sudo 基于堆的缓冲区溢出漏 洞,获得 root 权限。在 sudo 解析命令行参数的方式中发现了基 于堆的缓冲区溢出。任何本地用户(普通用户和系统用户,sudo er 和非 sudoers)都可以利用此漏洞,而无需进行身份验证,攻击者不需要知道用户的密码。

漏洞编号:CVE-2021-3156
修复问题:解决Sudo权限绕过漏洞 修复堆缓冲区溢出漏洞(CVE-2021- 3156)

漏洞影响

  • 1.8.2 - 1.8.31p2
  • 1.9.0 - 1.9.5p1

二、升级sudo

1、查看版本

sudo -V
Sudo version 1.8.23
Sudoers policy plugin version 1.8.23
Sudoers file grammar version 46
Sudoers I/O plugin version 1.8.23

2、下载

下载需要下载编译需要的依赖和程序包

2.1、下载编译需要的依赖库gcc

在具备互联网接入或具备yum源的电脑上下载gcc

# 1 下载安装yumdownload工具
yum install yum-utils -y
# 2 创建存储gcc文件夹
mkdir -p /home/downloads/tools/gcc
# 3 切换到创建存储的gcc目录
cd /home/downloads/tools/gcc
# 4 下载gcc和所有依赖包
yumdownloader --resolve --destdir /home/downloads/tools/gcc  gcc
2.2、下载sudo

官网版本信息 https://www.sudo.ws/dist/

wget https://www.sudo.ws/dist/sudo-1.9.5p2.tar.gz

3、安装

将上述步骤中下载的文件拷贝至离线服务器上
1、切换至gcc程序目录

cd /home/downloads/tools/gcc

2、安装gcc

rpm -ivh *.rpm

3、切换至sudo程序目录

cd /home/downloads/tools/sudo

4、解压并进入sudo目录

tar zxf sudo-1.9.5p2.tar.gz
cd sudo-1.9.5p2

5、配置安装

# 注意自己的安装版本
./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: "

6、编译并安装

make && make install && ln -sfv libsudo_util.so.0.0.0 /usr/lib/sudo/libsudo_util.so.0

7、验证

sudo -V
Sudo version 1.9.5p2

文章作者: HT
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 HT !
  目录