Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
CVE-2022-29968 — Exploit PoC per CVE-2022-29968 di Joseph Ravichandran e Michael Wang | Kitploit
Strumenti/GitHubGitHub/jprx/cve-2022-29968
Analisi delle VulnerabilitàExploitPaper e RicercaApprendimento e FormazioneBinary Exploitation
GitHubjprx/cve-2022-29968

CVE-2022-29968

Exploit PoC per CVE-2022-29968 di Joseph Ravichandran e Michael Wang

Vedi Repository
19414 anni faNon ancora revisionato

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

CVE-2022-29968

Exploit proof-of-concept per CVE-2022-29968 (memoria non inizializzata) nel kernel Linux, in particolare il sistema io_uring.

Il crash è stato trovato con Syzkaller. Il crash è stato analizzato da Joseph Ravichandran e Michael Wang. L'exploit è stato scritto da Joseph Ravichandran.

Abbiamo trovato e segnalato questo bug come parte del progetto finale per 6.858 al MIT, Primavera 2022.

Qualsiasi kernel dopo 3e08773c3841 ("block: switch polling to be bio based") e prima di 32452a3eb8b6 ("io_uring: fix uninitialized field in rw io_kiocb") dovrebbe essere vulnerabile a questo.

Commit della Patch

Il nostro commit della patch

Analisi

L'analisi che abbiamo presentato per il progetto finale di 6.858

Exploit

Requisiti

  • Poiché dobbiamo spruzzare puntatori a una struct bio falsa, SMAP/SMEP devono essere disattivati (oppure, se hai una leak di kASLR, puoi usarla qui)
  • /dev/sr0 deve essere leggibile da un utente non privilegiato

Testato in un installazione Busybox (senza KVM) con 128M di 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'

Il nostro etc/passwd ha un utente non-root (attacker) e un utente root (root):

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

Il kernel è stato compilato con make defconfig per x86_64 con alcune funzionalità extra di tracing/debugging abilitate.

Esecuzione

  1. Compilare con make
  2. ./spray
  3. ./exploit
Scarica lo strumento