Bulletins

Un exploit facile d'escalade des privilèges pour les noyaux Linux

bs1.jpg

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.