Sudo 缓冲区溢出漏洞(CVE-2021-3156)修复记录

本贴最后更新于 1423 天前,其中的信息可能已经时异事殊

漏洞名称: Sudo 缓冲区溢出漏洞(CVE-2021-3156)
漏洞定级:高 危
漏洞描述: 在 sudo 中发现一个缺陷。在 sudo 解析命令行参数的方式中发现了基于堆的缓冲区溢出。任何本地用户(普通用户和系统用户,sudoers 和非 sudoers)都可以利用此漏洞,而无需进行身份验证(即,攻击者不需要知道用户的密码),利用此漏洞可以用于普通用户无差别提权,漏洞对数据机密性和完整性以及系统可用性带来严重威胁。
影响范围:
sudo: 1.8.2 - 1.8.31p2
sudo: 1.9.0 - 1.9.5p1

自查方法

以非 root 用户登录系统,并使用命令 sudoedit -s /

  • 如果响应一个以 sudoedit:开头的报错,那么表明存在漏洞。
  • 如果响应一个以 usage:开头的报错,那么表明补丁已经生效。

处置方法

通用修补建议:(注意:redhat 可用最新 yum 更新,其他可用包更新的系统也可以尝试)
下载升级 sudo 软件包,下载链接为:>
sudo 软件包下载地址
https://www.sudo.ws/dist/

修复记录

  1. 首先查一下是否该漏洞,登录到非 root 用户
    image.png
    输入 sudoedit -s / 命令 , 返回了 sudoedit: /:不是常规文件 错误提示,所以存在漏洞。
    再看下 sudo 版本号 sudo -V

    [zhyw@localhost ~]$ sudo -V
    Sudo 版本 1.8.23
    Sudoers 策略插件版本 1.8.23
    Sudoers 文件语法版本 46
    Sudoers I/O plugin version 1.8.23
    

    版本为:1.8.23,的确也是在官方公布的影响范围内的版本

  2. 升级修补漏洞,
    wget https://www.sudo.ws/dist/sudo.tar.gz

  3. 解压
    tar -xvzf sudo.tar.gz

  4. 进入该文件夹,编译安装
    ./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

  5. 再次输入 sudo -V 查看其版本
    image.png
    已经成功安装

  6. 验证漏洞是否修复
    sudoedit -s /
    image.png
    提示为:usage: sudoedit [-AknS] [-C num] [-D directory] [-g group] [-h host] [-p prompt] [-R directory] [-T timeout] [-u user] file ...
    表示该漏洞已经被修复。

Tip:如果相应的软件源已经更新了 sudo,也可以直接通过 yum 或者 apt-get 来直接升级 yum -y upgrade sudo

  • Linux

    Linux 是一套免费使用和自由传播的类 Unix 操作系统,是一个基于 POSIX 和 Unix 的多用户、多任务、支持多线程和多 CPU 的操作系统。它能运行主要的 Unix 工具软件、应用程序和网络协议,并支持 32 位和 64 位硬件。Linux 继承了 Unix 以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。

    946 引用 • 943 回帖
  • 漏洞
    19 引用 • 27 回帖 • 1 关注

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...