
Exécution de code pour CVE-2017-11176
Preuve de concept pour CVE-2017-11176 pour l'exécution de code.
La fonction mq_notify dans le noyau Linux jusqu'à la version 4.11.9 ne définit pas le pointeur sock à NULL lors de l'entrée dans la logique de nouvelle tentative. Lors de la fermeture d'un socket Netlink dans l'espace utilisateur, cela permet à des attaquants de provoquer un déni de service (use-after-free) ou éventuellement d'avoir un autre impact non spécifié.
Consultez ces articles, j'ai beaucoup appris de cela.
SMAP est désactivéKASLR est désactivéSLAB est exploitéheap.c : utilisé pour découvrir le cache cible*.stp : ces fichiers sont utilisés pour System Tap afin de déboguer. Aussi, offset.stap affiche l'offset des structuresgdb.script : script gdb pour le débogage. Cela déclenchera le point d'arrêt si RAX est dans l'espace utilisateur. Notez que nous insérerons le deuxième point d'arrêt après avoir atteint le premier afin d'éviter les problèmes de performance (wake_up est appelé de nombreuses fois).