Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
CVE-2022-29968 — Exploit PoC für CVE-2022-29968 von Joseph Ravichandran und Michael Wang | Kitploit
Tools/GitHubGitHub/jprx/cve-2022-29968
SchwachstellenanalyseExploitationPapers & ForschungLernen & BildungBinary-Exploitation
GitHubjprx/cve-2022-29968

CVE-2022-29968

Exploit PoC für CVE-2022-29968 von Joseph Ravichandran und Michael Wang

Repository anzeigen
194vor 4 JahrenNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

CVE-2022-29968

Proof-of-Concept-Exploit für CVE-2022-29968 (nicht initialisierter Speicher) im Linux-Kernel, insbesondere das io_uring-System.

Der Absturz wurde mit Syzkaller gefunden. Der Absturz wurde von Joseph Ravichandran und Michael Wang analysiert. Der Exploit wurde von Joseph Ravichandran geschrieben.

Wir haben diesen Fehler im Rahmen des Abschlussprojekts für 6.858 am MIT, Frühjahr 2022 gefunden und gemeldet.

Jeder Kernel nach 3e08773c3841 ("block: switch polling to be bio based") und vor 32452a3eb8b6 ("io_uring: fix uninitialized field in rw io_kiocb") sollte dafür anfällig sein.

Patch-Commit

Unser Patch-Commit

Bericht

Der von uns für das 6.858-Abschlussprojekt eingereichte Bericht

Exploit

Voraussetzungen

  • Da wir Zeiger auf eine gefälschte bio-Struktur streuen müssen, müssen SMAP/SMEP deaktiviert sein (oder, wenn Sie einen kASLR-Leak haben, können Sie diesen hier verwenden)
  • /dev/sr0 muss für einen unprivilegierten Benutzer lesbar sein

Getestet in einer Busybox-Installation (ohne KVM) mit 128 MB 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'

Unser etc/passwd hat einen Nicht-Root-Benutzer (attacker) und einen Root-Benutzer (root):

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

Der Kernel wurde mit make defconfig für x86_64 mit einigen zusätzlichen Tracing-/Debugging-Funktionen kompiliert.

Ausführung

  1. Mit make kompilieren
  2. ./spray
  3. ./exploit
Tool herunterladen