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
XCP_ng_CVE-2026-31431_tester — Détecteur non destructif pour l'élévation de privilèges locale CVE-2026-31431 (Copy Fail) dans XCP-ng 8.3 Dom0, validant la vulnérabilité du noyau via un test de corruption du cache de pages. | Kitploit
Outils/GitHubGitHub/grabesec/xcp_ng_cve-2026-31431_tester
Analyse des VulnérabilitésExploitationTests d'IntrusionSécurité Cloud
GitHubgrabesec/xcp_ng_cve-2026-31431_tester

XCP_ng_CVE-2026-31431_tester

Détecteur non destructif pour l'élévation de privilèges locale CVE-2026-31431 (Copy Fail) dans XCP-ng 8.3 Dom0, validant la vulnérabilité du noyau via un test de corruption du cache de pages.

Voir le dépôt
il y a 3 moisPas encore vérifié

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

CVE-2026-31431 « Copy Fail » — Détecteur de laboratoire pour XCP-ng

Un script de détection sûr et non destructif pour CVE-2026-31431 (« Copy Fail »), validé sur XCP-ng 8.3 LTS avant la mise à jour de sécurité du 5 mai 2026.

⚠️ Utilisation autorisée uniquement. Exécutez ce script exclusivement sur des systèmes dont vous êtes propriétaire ou que vous êtes explicitement autorisé à tester.


Contexte

CVE-2026-31431, surnommée « Copy Fail », est une élévation de privilèges locale (LPE) dans l'interface cryptographique algif_aead du noyau Linux. Un défaut logique dans le modèle authencesn — introduit en 2017 — permet à un utilisateur local non privilégié d'effectuer une écriture contrôlée de 4 octets dans le cache de pages du noyau de tout fichier lisible, permettant une élévation de privilèges jusqu'à root.

  • CVSS 3.1 : 7,8 (Élevé)
  • Noyaux concernés : 4.14 à 6.18.21, 6.19.x avant 6.19.12
  • Introduit : Noyau Linux 4.14 (2017)
  • Divulgué : 29 avril 2026 par Taeyang Lee / Theori (Xint Code)
  • Correctif en amont : commit a664bf3d603d par Herbert Xu

Pourquoi c'est important pour XCP-ng

Le domaine de contrôle Dom0 de XCP-ng fonctionne sur un noyau Linux et constitue la couche de gestion de l'hyperviseur. Tout utilisateur non privilégié ayant un accès shell à Dom0 — y compris les comptes de service créés pour les pipelines CI/CD, les agents de surveillance, les outils de sauvegarde ou l'automatisation — peut exploiter cette vulnérabilité pour obtenir root. Depuis root dans Dom0, toutes les VM invitées de cet hôte sont compromises.

Une installation XCP-ng par défaut présente une exposition minimale car très peu de processus s'exécutent en tant qu'utilisateurs non root. Le risque réel s'accumule au fil du temps lorsque les opérateurs ajoutent des comptes de service à des fins légitimes sans restreindre l'accès shell.

Auditez vos comptes de service Dom0 :

root@kitploit:~
awk -F: '$7 ~ /bash|sh/' /etc/passwd

Ce que fait ce script

Il s'agit d'un détecteur de laboratoire, pas d'un outil d'élévation de privilèges. Il :

  • Crée un fichier sentinelle temporaire appartenant à l'utilisateur en cours d'exécution dans un répertoire temporaire
  • Tente de déclencher la primitive d'écriture éphémère dans le cache de pages algif_aead / authencesn contre ce fichier
  • Signale si une corruption du cache de pages a été détectée (confirmant la vulnérabilité)
  • Nettoie tous les fichiers temporaires à la sortie

Les binaires système, /etc/passwd et autres fichiers système ne sont jamais touchés. La corruption du cache de pages est uniquement en mémoire — rien n'est réécrit sur le disque.


Prérequis

  • Python 3.10+ (requis pour os.splice)
  • Bibliothèque standard uniquement — aucune installation pip nécessaire
  • Shell utilisateur non root sur un Dom0 exécutant un noyau vulnérable

Utilisation

root@kitploit:~
python3 xcp_ng_cve_2026_31431_tester.py

Codes de sortie

CodeSignification
0Aucune corruption observée — le système est probablement corrigé ou algif_aead est désactivé
1Erreur de déclenchement — algif_aead peut être indisponible ou bloqué
2Vulnérable — corruption du cache de pages confirmée

Remarque : Le code de sortie 1 sur un système corrigé est un comportement attendu, pas une erreur du script. Si authencesn a été désactivé au niveau du noyau (comme dans le correctif XCP-ng du 5 mai), la liaison de socket échouera et le script se terminera avec le code 1.


Statut du correctif XCP-ng

DateÉvénement
29 avril 2026CVE-2026-31431 divulguée publiquement
4 mai 2026VATES publie VSA-2026-013
5 mai 2026Mise à jour de sécurité XCP-ng 8.3 LTS de mai publiée — correctif du noyau disponible

Application du correctif

Mettez à jour vos hôtes XCP-ng et redémarrez :

root@kitploit:~
yum update
reboot

Après le redémarrage, vérifiez que le noyau mis à jour est en cours d'exécution :

root@kitploit:~
uname -r

Relancez ce script de détection après le correctif. Un système corrigé renverra le code de sortie 1 (erreur de déclenchement) car le modèle authencesn vulnérable n'est plus disponible.

Remarque : Le correctif XCP-ng désactive le support IPSec ESN en conséquence de la suppression du composant authencesn vulnérable. Pour la plupart des environnements, cela n'a aucun impact pratique. VATES a indiqué qu'un futur correctif pourrait restaurer cette fonctionnalité avec une solution appropriée.


Vérification de la configuration du noyau

Avant d'appliquer des mesures d'atténuation, confirmez si algif_aead est compilé en tant que module (=m) ou intégré au noyau (=y) :

root@kitploit:~
grep CONFIG_CRYPTO_USER_API_AEAD /boot/config-$(uname -r)
  • =m — Basé sur module ; la liste noire modprobe fonctionnera
  • =y — Intégré au noyau ; la liste noire modprobe échouera silencieusement et n'offrira aucune protection

Pour les noyaux de la famille RHEL avec =y, utilisez plutôt le paramètre de démarrage grubby :

root@kitploit:~
grubby --update-kernel=ALL --args="initcall_blacklist=algif_aead_init"
reboot

Références

  • VSA-2026-013 — Avis de sécurité VATES
  • Mise à jour de sécurité XCP-ng de mai 2026
  • Copy Fail — Analyse technique Xint/Theori
  • copy.fail — Page de divulgation officielle
  • CVE-2026-31431 — NVD
  • Correctif du noyau en amont — commit a664bf3d603d
  • Détecteur original par rootsecdev

Crédits

  • Découverte de la vulnérabilité : Taeyang Lee / Theori (Xint Code)
  • Correctif du noyau en amont : Herbert Xu
  • Script de détection original : rootsecdev
  • Adaptation et validation XCP-ng : Rod (ce dépôt)

Licence

Ce script est un dérivé modifié du travail original de rootsecdev. Veuillez vérifier la licence du dépôt en amont avant toute redistribution et assurez-vous que votre utilisation respecte ses conditions.


Ce script a été validé sur XCP-ng 8.3 LTS exécutant un noyau non corrigé au 5 mai 2026. Appliquez immédiatement la mise à jour de sécurité officielle VATES si ce n'est pas déjà fait.

Télécharger l’outil