概述

2021年1月26日,sudo发布安全通告,修复了一个类Unix操作系统在命令参数中转义反斜杠时存在基于堆的缓冲区溢出漏洞。

当sudo通过-s或-i命令行选项在shell模式下运行命令时,它将在命令参数中使用反斜杠转义特殊字符。但使用-s或 -i标志运行sudoedit时,实际上并未进行转义,从而可能导致缓冲区溢出。

只要存在sudoers文件(通常是 /etc/sudoers),攻击者就可以使用本地普通用户利用sudo获得系统root权限。请受影响的用户尽快采取措施进行防护。

影响范围
  • Sudo 1.8.2 - 1.8.31p2
  • Sudo 1.9.0 - 1.9.5p1

检查是否受影响

[root@master-all ~]# sudo --version |grep version
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
[root@master-all ~]# sudoedit -s /
sudoedit: /: not a regular file

修复方法

官方sudo版本包列表:https://www.sudo.ws/dist/

 [root@master-all ~]# wget https://file.api.ym68.cc/Package/sudo/sudo-1.9.5p2.tar.gz
 [root@master-all ~]# tar zxf sudo-1.9.5p2.tar.gz 
 [root@master-all ~]# cd sudo-1.9.5p2/
 [root@master-all 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 && make install && ln -sfv libsudo_util.so.0.0.0 /usr/lib/sudo/libsudo_util.so.0
 [root@master-all sudo-1.9.5p2]# sudo --version |grep 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
 [root@master-all sudo-1.9.5p2]# sudoedit -s /
 usage: sudoedit [-AknS] [-C num] [-D directory] [-g group] [-h host] [-p prompt] [-R directory] [-T timeout] [-u user] file …

分类: Linux