Rassurez-vous (ou pas) : la CVE ne s’appelle pas tout à fait comme ça 😄 … Malgré tout, vous l’avez sans doute vue passer, cette nouvelle faille sortie il y a très peu de temps (hier, je crois). Elle mérite que je m’y attarde.
Eh oui, parce que bon, vous savez que je ne suis pas ingénieur sécurité et que je ne passe pas mon temps à lire les flux CVE à l’affût d’une quelconque alerte qui pourrait nous impacter plus ou moins directement. Malgré tout, celle-ci a attiré mon attention. La CVE-2026-31431 est une nouvelle faille de sécurité, avant tout locale, affectant les machines tournant avec un noyau Linux non patché.
Plus exactement, cette CVE permet à un utilisateur local de devenir root en un éclair… littéralement… zap ! « Hop, je suis root ! » 😎 Pour votre info, j’ai testé l’exploit sur une VM Ubuntu 24.04 avec un noyau vieux de quelques semaines. Et évidemment, ça a marché… Ça donne des frissons dans le dos, non ?
Oui, car l’exploit est public et les exemples d’utilisation sont simplissimes (j’ai testé via un script Python, personnellement). À ce jour, aucun correctif n’a encore été publié par les grandes distributions que nous connaissons (Ubuntu, Debian, Red Hat, etc.). La faille est locale, encore une fois, ce qui explique qu’elle n’ait pas été taguée 10 mais « seulement » 7.8. Malgré tout, comme le dit très justement Antoine, un collègue, Il suffit qu’un attaquant combine cette faille avec une autre permettant d’obtenir un accès shell, quel que soit l’utilisateur (via une banale SQL Injection ou autre), et hop… vous êtes root.
Rappelez-vous aussi que ça ne concerne pas que les distributions « Linux » mais un souci sur le Noyau
Bref … ça vaut le coup de déclencher une petite réu de crise dont nos chers RSSI ont le secret 😉
Bon courage !!
EDIT: bon j’ai testé avec succès le patch rapide qui désactive le module algif_head. sur le kernel.
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
cve@xxxxxx:~/cve_2026_31431# python3 test_cve_2026_31431.py [*] CVE-2026-31431 detector kernel=6.8.0-106-generic arch=x86_64 [i] Kernel 6.8.0-106-generic predates the affected 6.12/6.17/6.18 lines; trigger may not apply even if prerequisites match. [+] AF_ALG + 'authencesn(hmac(sha256),cbc(aes))' loadable - precondition met. [!] VULNERABLE to CVE-2026-31431. [!] Marker b'PWND' (AAD seqno_lo) landed in the spliced page-cache page at offset 0. [!] Surrounding bytes: 50574e444641494c2d53454e (b'PWNDFAIL-SEN') [!] Apply the upstream fix or block algif_aead immediately. cve@xxxxxx:~/cve_2026_31431# echo "install algif_aead /bin/false" > /etc/modprobe.d/disable-algif.conf cve@xxxxxx:~/cve_2026_31431# rmmod algif_aead 2>/dev/null cve@xxxxxx:~/cve_2026_31431# python3 test_cve_2026_31431.py [*] CVE-2026-31431 detector kernel=6.8.0-106-generic arch=x86_64 [i] Kernel 6.8.0-106-generic predates the affected 6.12/6.17/6.18 lines; trigger may not apply even if prerequisites match. [+] Precondition not met ('authencesn(hmac(sha256),cbc(aes))' cannot be instantiated (No such file or directory)). NOT vulnerable. |
Accessoirement, vous pouvez très vite vérifier si ce modules est actuellement utilisé sur votre système avec un petit : lsmod | grep algif_aead. Par contre, si c’est compilé en static dans votre kernel, pas le choix, recompil’ du noyo ou peut-être une commande au boot à ajouter dans LILO/GRUB, à voir.
Référence :
– La CVE : https://cert.europa.eu/publications/security-advisories/2026-005/
– La CVE sur le CERT-FR : https://www.cert.ssi.gouv.fr/actualite/CERTFR-2026-ACT-013/
– L’exploit que j’ai utilisé : https://github.com/rootsecdev/cve_2026_31431
