
CVE-2022-0847(dirty pipe)の個人用PoCおよびエクスプロイト
このCVEの単純なPOCです。以下のようにpoc.cをコンパイルしてください:
$ gcc poc.c -o poc -static
以下のように実行します:
./poc target_file offset_in_file data
対象ファイルが少なくとも読み取り可能であることを確認してください。
Linuxカーネル5.13.19でテストした結果:

SUIDアプリケーションを上書きしてROOT SHELLを提供することでROOT権限を取得する方法を選択しました。
exploit_suid.cをコンパイルして、以下のように実行してください:
$ gcc exploit_suid.c -o exp -static
$ ./exp target_file
テストでは対象のSUIDファイルとして/bin/passwdを選択しました。Ubuntu 21.10(カーネル5.13.0)でテストした結果は以下の通りです:

このCVEの詳細については、私のブログをご覧ください。