Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
CVE-2026-31431 — Exploit pour CVE-2026-31431, une vulnérabilité authencesn du noyau Linux permettant une élévation locale de privilèges vers root via la manipulation du cache de pages. | Kitploit
Outils/GitHubGitHub/abdullaabdullazade/cve-2026-31431
Escalade de PrivilègesFrameworks d'ExploitationAnalyse des VulnérabilitésExploitation
GitHubabdullaabdullazade/cve-2026-31431

CVE-2026-31431

Exploit pour CVE-2026-31431, une vulnérabilité authencesn du noyau Linux permettant une élévation locale de privilèges vers root via la manipulation du cache de pages.

Voir le dépôt

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager
1il y a 3 moisPas encore vérifié

Copy Fail (CVE-2026-31431) - Analyse complète

1. Présentation de la vulnérabilité

  • Nom de la vulnérabilité : Copy Fail
  • Identifiant CVE : CVE-2026-31431
  • Découverte / Auteurs : Xint Code Research Team (s'appuyant sur les travaux de recherche fondamentaux initiaux du chercheur de Theori, Taeyang Lee).

« Copy Fail » est une vulnérabilité logique critique dans le modèle cryptographique authesn du noyau Linux. Elle permet à un utilisateur local non privilégié de déclencher une écriture déterministe et contrôlée de 4 octets dans le cache de pages de n'importe quel fichier lisible sur le système. En ciblant les binaires setuid (tels que /usr/bin/su), un attaquant peut modifier le cache d'exécution en mémoire pour élever ses privilèges jusqu'à Root (UID 0).

Contrairement aux vulnérabilités plus anciennes comme « Dirty Cow » ou « Dirty Pipe », Copy Fail est un défaut logique linéaire qui se déclenche sans conditions de course, sans nouvelles tentatives ni fenêtres temporelles sujettes aux plantages. Elle est hautement portable et furtive, car elle ne modifie que le cache de pages en mémoire tout en laissant le fichier sur disque complètement inchangé, contournant ainsi les outils standard de surveillance de l'intégrité des fichiers.

2. Analyse de la cause racine

La vulnérabilité existe à l'intersection de trois composants distincts du noyau :

  1. AF_ALG et AEAD en place : AF_ALG est un type de socket qui expose le sous-système cryptographique du noyau à l'espace utilisateur. En 2017, une optimisation a été ajoutée pour effectuer les opérations AEAD en place, ce qui signifie que la même liste de scatter-gather sert à la fois d'entrée et de sortie pour l'algorithme cryptographique.
  2. L'appel système splice() : L'appel système splice() transfère des données entre des descripteurs de fichiers et des tubes sans copie, en passant les pages du cache de pages par référence. Lorsqu'un utilisateur épisse un fichier (comme /usr/bin/su) dans un socket AF_ALG, la liste de scatter-gather d'entrée du socket contient des références directes aux pages en cache du noyau de ce fichier.
  3. Écriture de brouillon authesn : L'algorithme authesn (utilisé pour les numéros de séquence étendus IPsec) nécessite de réorganiser les octets. Pour ce faire, il écrit temporairement 4 octets de numéros de séquence dans le tampon de sortie comme « espace de brouillon ». Cependant, il écrit au-delà de la limite de sortie légitime.

En raison de l'optimisation en place de 2017, la liste de scatter-gather de sortie contient les pages du cache de pages en lecture seule passées par splice(). Lorsque authesn écrit au-delà de la limite de sortie, il écrase directement 4 octets dans la mémoire cache du noyau du fichier cible.

3. Mécanisme d'exploitation

Un attaquant peut exploiter cette vulnérabilité en suivant ces étapes :

  1. Configuration du socket : Ouvrir un socket AF_ALG non privilégié et le lier à authesn(hmac(sha256),cbc(aes)).
  2. Construire l'écriture : Envoyer un sendmsg() conçu avec une charge utile de données authentifiées associées (AAD) contenant les 4 octets que l'on souhaite écrire.
  3. Épisser la cible : Utiliser splice() pour canaliser le fichier cible (/usr/bin/su) dans le socket. Le décalage et la longueur définissent précisément où dans le cache de pages les 4 octets seront écrits.
  4. Déclencher le déchiffrement : L'appel à recv() déclenche l'opération de déchiffrement, exécutant l'écriture de brouillon hors limites directement dans le cache de pages du fichier cible.
  5. Exécuter : Lancer le binaire cible (par exemple, execve("/usr/bin/su")). Le noyau exécute la version altérée du cache de pages contenant le shellcode malveillant injecté, accordant un accès root.

4. Atténuation et remédiation

Solution temporaire

Si le correctif ou le redémarrage du noyau n'est pas immédiatement possible, vous pouvez atténuer cette vulnérabilité en bloquant tous les modules af_alg associés et en les déchargeant de la mémoire.

Pour bloquer ces modules, exécutez les commandes suivantes :

root@kitploit:~
# 1. Décharger les modules de la mémoire s'ils sont actuellement chargés
sudo modprobe -r algif_hash algif_skcipher algif_aead algif_rng af_alg

# 2. Ajouter les modules à la liste noire
echo -e "blacklist af_alg\nblacklist algif_hash\nblacklist algif_skcipher\nblacklist algif_aead\nblacklist algif_rng" | sudo tee /etc/modprobe.d/stop-exploit.conf

# 3. Empêcher complètement le chargement du module af_alg
echo "install af_alg /bin/true" | sudo tee -a /etc/modprobe.d/stop-exploit.conf

# 4. Redémarrer le système pour garantir que les modifications prennent pleinement effet
sudo reboot

Correctif permanent

L'équipe de sécurité du noyau Linux a corrigé cette vulnérabilité (Commit : a664bf3d603d). Le correctif rétablit les opérations AEAD d'AF_ALG à un modèle hors place, séparant les listes de scatter-gather source et destination. Cela empêche les pages du cache de pages d'être exposées à la liste de scatter-gather de destination accessible en écriture.

Action requise : Mettez à jour le noyau de votre distribution vers la dernière version fournie par votre fournisseur (Ubuntu, Amazon Linux, RHEL, SUSE, etc.) et redémarrez votre système.

Télécharger l’outil