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-2022-29968 — PoC del exploit para CVE-2022-29968 por Joseph Ravichandran y Michael Wang | Kitploit
Herramientas/GitHubGitHub/jprx/cve-2022-29968
Análisis de VulnerabilidadesExplotaciónPapers e InvestigaciónAprendizaje y EducaciónExplotación de Binarios
GitHubjprx/cve-2022-29968

CVE-2022-29968

PoC del exploit para CVE-2022-29968 por Joseph Ravichandran y Michael Wang

Ver Repositorio
194hace 4 añosAún no revisado

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-2022-29968

Exploit de prueba de concepto para CVE-2022-29968 (memoria no inicializada) en el kernel de Linux, específicamente el subsistema io_uring.

La caída fue encontrada con Syzkaller. La caída fue analizada por Joseph Ravichandran y Michael Wang. El exploit fue escrito por Joseph Ravichandran.

Encontramos y reportamos este bug como parte del proyecto final para 6.858 en MIT, primavera de 2022.

Cualquier kernel posterior a 3e08773c3841 ("block: switch polling to be bio based") y anterior a 32452a3eb8b6 ("io_uring: fix uninitialized field in rw io_kiocb") debería ser vulnerable a esto.

Commit del parche

Nuestro commit del parche

Informe

El informe que presentamos para el proyecto final de 6.858

Exploit

Requisitos

  • Dado que necesitamos rociar punteros a una estructura bio falsa, SMAP/ SMEP deben estar desactivados (o, si tienes una fuga de kASLR, puedes usarla aquí)
  • /dev/sr0 necesita ser legible por un usuario no privilegiado

Probado en una instalación de Busybox (sin KVM) con 128M de RAM:

$QEMU -m 128M -kernel $KERNEL -initrd $INITRD -nographic -append "console=ttyS0 nokaslr no_hash_pointers ftrace_dump_on_oops"

initramfs init:

root@kitploit:~
#!/bin/sh
/bin/busybox --install -s

# Mount required file systems (very useful if you are using ftrace/ debug features)
mount -t proc none /proc
mount -t sysfs sysfs /sys
mount -t tracefs nodev /sys/kernel/tracing
mount -t debugfs none /sys/kernel/debug
mkdir -p /tmp  && mount -t tmpfs tmpfs /tmp
mount -t devtmpfs none /dev

# Setup permissions for sr0
chmod -R 0777 /dev/sr0

# Create a temp file (used by the old userfaultfd approach)
# Not needed for the public exploit
touch /tmp/test

# Switch to non-root user
su attacker

# Run shell
exec sh

# Run shell (except ^C now works)
#exec setsid sh -c 'exec sh </dev/ttyS0 >/dev/ttyS0 2>&1'

Nuestro etc/passwd tiene un usuario no root (attacker) y un usuario root (root):

root@kitploit:~
attacker:x:1000:1000:Linux User,,,:/home/attacker:/bin/sh
root:x:0:0:root:/tmp:/bin/sh

El kernel fue compilado con make defconfig para x86_64 con algunas características adicionales de rastreo/depuración habilitadas.

Ejecutarlo

  1. Compila con make
  2. ./spray
  3. ./exploit
Descargar herramienta