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