
Prova de conceito de exploit para CVE-2024-21626, uma vulnerabilidade de escape de contêiner no runc/Docker usando manipulação de descritores de arquivo. Apenas para fins educacionais e de pesquisa.
Apenas para uso educacional/pesquisa; os riscos decorrentes de qualquer comportamento não relacionado a educação/pesquisa são de responsabilidade do usuário.
docker build . -t cve-2024-21626
docker run -it --rm cve-2024-21626 bash /poc.sh
# 另起一个terminal
/bin/bash.copy
Diferentes versões de docker/runc usam descritores de arquivo (file descriptors) específicos; por exemplo, no caso de docker server:20.10.17 && runc version 1.1.2, use /proc/self/fd/9. O fd real pode mudar de acordo com a ordem de abertura dos arquivos. A documentação oficial aponta que, na maioria dos casos, deve-se usar /proc/self/fd/7.
Modificação: altere o WORKDIR no Dockerfile para o valor correspondente.
Atenda simultaneamente às seguintes condições:
TODO
https://github.com/opencontainers/runc/security/advisories/GHSA-xr7r-f8xq-vfvv
https://github.com/opencontainers/runc/commit/2a4ed3e75b9e80d93d1836a9c4c1ebfa2b78870e