Vulnérabilité Bad Epoll : une faille a été découverte dans Linux et Android permettant un accès root.


1

Une vulnérabilité a été révélée dans le noyau Linux Mauvais Epoll, enregistré sous le nom CVE-2026-46242. Cela permet à un utilisateur local ordinaire, sans privilèges spéciaux, d'élever ses privilèges au niveau root. Selon le chercheur Jayon Chong, le problème concerne non seulement les ordinateurs de bureau et les serveurs Linux, mais aussi certains appareils Android sous de nouvelles versions du noyau - cela est particulièrement souligné dans la description de Mauvais Epoll.

L'erreur réside dans le sous-système epoll — le mécanisme standard de Linux pour suivre plusieurs descripteurs de fichiers, connexions réseau et événements d'entrée/sortie. Ces mécanismes sont largement utilisés par les serveurs, navigateurs et services réseaux, donc il n'est pas possible de désactiver epoll simplement. Dans l'analyse technique la vulnérabilité est décrite comme une condition de course, entraînant un use-after-free: lorsque des objets epoll associés sont fermés simultanément, un thread libère les structures internes tandis qu'un autre continue à y accéder.

Pour être plus précis, le problème se manifeste lorsqu'un descripteur epoll surveille un autre et que les deux descripteurs sont fermés en parallèle. Après l'appel à __ep_remove(), le champ file->f_ep est temporairement mis à zéro, et le concurrent __fput() peut décider que le nettoyage supplémentaire n'est plus nécessaire. En conséquence, l'objet struct eventpoll ou le struct file associé est libéré trop tôt, mais le code continue de fonctionner avec des pointeurs vers une mémoire déjà libérée. C'est exactement ce qui donne à l'attaquant un moyen de corrompre la mémoire du noyau.

Aucune capacité supplémentaire n'est nécessaire pour l'attaque et aucune namespace utilisateur n'est requise - il suffit d'avoir CONFIG_EPOLL, ce qui rend le problème particulièrement désagréable pour les systèmes Linux ordinaires. Selon le rapport initial du chercheur, le bug a été introduit dans le noyau par le commit 58c9b016e128 en 2023, et corrigé par le commit a6dc643c693.

Malgré une fenêtre de course très étroite, le chercheur a préparé un exploit fonctionnel pour le Google kernelCTF. Dans la description de l'exploitation il est démontré comment l'erreur se transforme en une écriture de 8 octets dans une structure libérée, puis en une fuite de mémoire du noyau via /proc/self/fdinfo, en interceptant file->f_op->poll et en utilisant une chaîne ROP pour obtenir le root. Pour l'objectif lts-6.12.67, une fiabilité d'environ 99 % est revendiquée, pour COS - environ 98 % ; l'exploit Android, selon l'auteur, est encore en cours de développement.

Les noyaux basés sur la branche 6.4 et plus récents, s'ils n'ont pas été patchés. Les anciens appareils Android sous des noyaux 6.1, y compris le Pixel 8 et des modèles similaires, sont considérés par l'auteur comme non vulnérables. Pour les utilisateurs et les administrateurs, la seule option de protection raisonnable reste d'installer la mise à jour du noyau fournie par leur distribution ou le fournisseur de l'appareil.

Source : linux.org.ru

Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS 🔥 Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS | ProHoster