Un exploit facile d'escalade des privilèges pour les noyaux Linux
Un exploit de preuve de concept d'élévation des privilèges
Linux a été publié. Selon le chasseur de bugs qui l'a développé, il fonctionne
généralement sans effort sur les versions du noyau comprises entre 5.14 et
6.6.14 au minimum.
L'exécution de l'exploit en tant qu'utilisateur normal sur
une machine vulnérable vous donne un accès root à la machine, ce qui vous
permet de faire tout ce que vous voulez. Cet accès peut être utilisé par des
initiés malhonnêtes ou des logiciels malveillants déjà présents sur
l'ordinateur pour causer d'autres dommages et problèmes.
Cette faille affecte Debian, Ubuntu, Red Hat, Fedora et, sans aucun doute, d'autres distributions Linux. Le découvreur de failles, connu sous le nom de Notselwyn, a publié cette semaine un rapport technique très détaillé sur le bug, et a indiqué que son exploit avait un taux de réussite de 99,4 % sur le noyau 6.4.16, par exemple.
La vulnérabilité est répertoriée sous le nom de
CVE-2024-1086. Elle est évaluée à 7,8 sur 10 en termes de gravité CVSS. Elle a
été corrigée à la fin du mois de janvier, et des mises à jour ont été diffusées
depuis lors. Si vous n'avez pas encore mis à jour votre noyau vulnérable et que
l'escalade locale des privilèges (LPE) vous préoccupe, jetez un coup d'œil de
plus près à ce document.
"Je n'ai jamais éprouvé autant de joie à développer un
projet, en particulier lorsque j'ai fait tomber le premier root shell avec le bug",
a déclaré Notselwyn.
Notselwyn a également partagé le code source d'un PoC
d'exploitation, dont l'exécution est "triviale".
L'exploitation du bug nécessite que l'option namespaces de
l'utilisateur non privilégié soit définie pour accéder à nf_tables, ce qui est
activé par défaut sur Debian, Ubuntu et d'autres distributions majeures. Un
attaquant doit alors déclencher un double-free, scanner la mémoire physique à
la recherche de l'adresse de base du noyau, en contournant KASLR, puis accéder
à la variable du noyau modprobe_path avec des privilèges de lecture/écriture.
Après avoir écrasé modprobe_path, l'exploit démarre un shell
root, et c'est la fin de la partie.