
PoC d'élévation locale de privilèges pour le noyau Linux CVE-2022-1015
Ce dépôt contient un PoC pour l'élévation de privilèges locale de CVE-2022-1015, un bug dans le composant nf_tables du noyau Linux que j'ai trouvé. Vous pouvez lire une analyse détaillée de cette vulnérabilité et de la stratégie d'exploitation sur mon blog.
Pour l'instant, l'exploit est un peu brouillon. Désolé !
Les noyaux après le commit 345023b0db31 (v5.12) mais avant le commit 6e1acfa387b9 (v5.17) sont vulnérables.
Il est extrêmement peu probable que cet exploit aboutisse à un shell root pour un noyau vulnérable donné. Vous devrez expérimenter avec les emplacements des hooks de chaîne (input vs output, etc.), les offsets de fuite d'adresse nft_bitwise, et les offsets de gadgets ROP et de symboles. J'ai testé sur 5.16-rc3+ et j'ai dû sérieusement modifier mon exploit pour une compilation du noyau effectuée avec une version différente de gcc.
Cela dit, avec toutes les informations données dans mon article de blog, je pense que modifier l'exploit pour un noyau vulnérable donné devrait être faisable.
Exécutez simplement make, et un exécutable pwn devrait apparaître dans le répertoire source. Vous aurez besoin des paquets de développement libmnl et libnftnl, ainsi que des en-têtes Linux de la cible.
Vous pouvez spécifier explicitement les en-têtes du noyau à utiliser avec par exemple make CFLAGS="-I/path/to/linux-tree/usr/include".
Ce code est distribué sous la licence Beerware. Je ne suis pas légalement responsable de tout ce que vous en faites.