Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
CVE-2022-29968 — PoC d'exploitation pour CVE-2022-29968 par Joseph Ravichandran et Michael Wang | Kitploit
Outils/GitHubGitHub/jprx/cve-2022-29968
Analyse des VulnérabilitésExploitationArticles et RechercheApprentissage et ÉducationExploitation de Binaires
GitHubjprx/cve-2022-29968

CVE-2022-29968

PoC d'exploitation pour CVE-2022-29968 par Joseph Ravichandran et Michael Wang

Voir le dépôt
1941il y a 4 ansPas encore vérifié

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

CVE-2022-29968

Exploit de preuve de concept pour CVE-2022-29968 (mémoire non initialisée) dans le noyau Linux, en particulier le sous-système io_uring.

Le crash a été découvert avec Syzkaller. Il a été analysé par Joseph Ravichandran et Michael Wang. L'exploit a été écrit par Joseph Ravichandran.

Nous avons découvert et signalé ce bogue dans le cadre du projet final pour 6.858 au MIT, printemps 2022.

Tout noyau après 3e08773c3841 ("block: switch polling to be bio based") et avant 32452a3eb8b6 ("io_uring: fix uninitialized field in rw io_kiocb") devrait être vulnérable à cela.

Commit du correctif

Notre commit de correctif

Rapport

Le rapport que nous avons soumis pour le projet final 6.858

Exploit

Prérequis

  • Étant donné que nous devons pulvériser des pointeurs vers une fausse structure bio, SMAP/SMEP doivent être désactivés (ou, si vous avez une fuite kASLR, vous pouvez l'utiliser ici)
  • /dev/sr0 doit pouvoir être lu par un utilisateur non privilégié
  • Testé dans une installation Busybox (sans KVM) avec 128 Mo 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'
    

    Notre etc/passwd contient un utilisateur non root (attacker) et un utilisateur root (root) :

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

    Le noyau a été compilé avec make defconfig pour x86_64 avec quelques fonctionnalités de traçage/débogage supplémentaires activées.

    Exécution

    1. Compiler avec make
    2. ./spray
    3. ./exploit
    Télécharger l’outil