
Proof-of-concept di exploit per CVE-2022-0847 (Dirty Pipe), una race condition del kernel Linux che consente scritture non privilegiate su file di sola lettura e l'escalation dei privilegi.
Un exploit proof-of-concept per CVE-2022-0847 (Dirty Pipe), una vulnerabilità del kernel Linux che consente a utenti non privilegiati di scrivere su file di sola lettura.
CVE-2022-0847 colpisce i kernel Linux dalla versione 5.8 alla 5.16. Sfrutta una race condition nell'implementazione delle pipe del kernel Linux per scrivere dati arbitrari su pagine di file di sola lettura memorizzate nella cache in memoria.
/etc/passwd).
├── src/
│ └── exploit.c # Codice sorgente dell'exploit Dirty Pipe
├── run.sh # Launcher dell'ambiente di test QEMU
├── initramfs/ # Filesystem root per i test
├── debugfs.cpio # initramfs compresso
└── README.md # Questo file
libelf-dev (per la compilazione del kernel)gcc ./src/exploit.c -o ./src/exploit -static -pthread
./run.sh
# All'interno della shell QEMU:
/home/exploit
cat /etc/passwd # Verifica che l'hash della password sia stato scritto
su root # Passa a root (nessuna password necessaria dopo l'exploit)
./src/exploit
L'exploit modifica /etc/passwd per iniettare un utente root con un hash di password noto.
L'exploit funziona tramite:
PIPE_BUF_FLAG_CAN_MERGEsplice() per collegare una pagina di file al buffer della pipeCiò consente di scrivere su pagine di memoria di sola lettura senza attivare il COW (Copy-on-Write).
/proc/self/mem se possibileQuesto exploit è destinato esclusivamente a scopi educativi e di test di sicurezza autorizzati. L'accesso non autorizzato a sistemi informatici è illegale.
Minh Vu ([email protected])