0x00 漏洞背景
2019年10月14日, sudo 官方在发布了 CVE-2019-14287 的漏洞预警。
sudo 是所有 unix操作系统(BSD, MacOS, GNU/Linux) 基本集成的一个用户权限控制/切换程序。允许管理员控制服务器下用户能够切换的用户权限。
CVE-2019-14287 是管理员在配置文件中用了 ALL 关键词后造成的。但默认的 sudo 配置文件不受影响。
360CERT判断漏洞等级为低危,影响面有限。
但由于是配置文件的开放性。还请服务管理/运维人员及时做好自查自检工作。
0x01 漏洞详情
当 /etc/sudoers 文件存在如下形式的配置会导致漏洞的产生
user_name ALL=(ALL, !root) /usr/bin/vim
这种*=(ALL, *)形式的配置,简单来说就是对 可以被切换到的用户进行了 ALL(所有用户) 和其他用户的剔除操作。
例如上面的含义就是:
允许 user_name 用户以非 root 权限之外的所有用户权限运行 vim
这样的配置应该会出现在比较少的特殊情况。
允许 r7 用户以非 root 权限之外的所有用户权限允许 vim
可以看到被拒绝了
可以看到成功切换到了 root 用户
成功打开 /etc/shadow 文件
0x02 修复建议
及时升级到 sudo 1.8.28 版本。
检索/etc/sudoers 是否存在 ALL 关键词的复合限制逻辑
0x03 时间线
2019-10-14 sudo 官方发布预警
2019-10-15 360CERT发布预警
0x04 参考链接
CVE-2019-14287: Potential bypass of Runas user restrictions
文章原文链接:https://www.anquanke.com/post/id/188743