
PoC di escalation locale dei privilegi per il kernel Linux CVE-2022-1015
Questo repository contiene un PoC per l'escalation locale dei privilegi di CVE-2022-1015, un bug nel componente nf_tables del kernel Linux che ho trovato. Puoi leggere un'analisi dettagliata di questa vulnerabilità e della strategia di sfruttamento sul mio blog.
Al momento, l'exploit è un po' pasticciato. Scusate!
I kernel successivi al commit 345023b0db31 (v5.12) ma precedenti al commit 6e1acfa387b9 (v5.17) sono vulnerabili.
È estremamente improbabile che questo exploit riesca a ottenere una shell di root per un dato kernel vulnerabile. Dovrai sperimentare con le posizioni degli agganci di catena (input vs output, ecc.), gli offset del leak di indirizzi di nft_bitwise e gli offset di gadget ROP e simboli. Ho testato su 5.16-rc3+ e ho dovuto modificare seriamente il mio exploit per una build del kernel compilata con una versione diversa di gcc.
Detto questo, con tutte le informazioni fornite nel mio post del blog, penso che adattare l'exploit a un dato kernel vulnerabile dovrebbe essere fattibile.
Basta eseguire make e un eseguibile pwn dovrebbe comparire nella directory del sorgente. Avrai bisogno dei pacchetti di sviluppo libmnl e libnftnl, oltre agli header Linux del target.
Puoi specificare esplicitamente gli header del kernel da usare, ad esempio con make CFLAGS="-I/path/to/linux-tree/usr/include".
Questo codice è distribuito sotto la licenza Beerware. Non sono legalmente responsabile di ciò che ne fai.