
Un utilitaire de sécurité Linux écrit en C pour détecter, vérifier en toute sécurité (preuve de concept) et atténuer la CVE-2026-64600 (RefluXFS). Il fournit une évaluation des vulnérabilités du noyau, la détection des reflinks XFS, un PoC sûr de condition de course et une atténuation en couches via SystemTap et le durcissement de XFS.
Ce dépôt fournit un utilitaire C complet pour détecter, vérifier de manière sûre et atténuer la vulnérabilité RefluXFS (CVE‑2026‑64600) sur les systèmes Linux utilisant le système de fichiers XFS. L'outil vérifie la présence d'un noyau vulnérable, identifie les montages XFS avec reflink activé, tente éventuellement un déclenchement sûr de la course, et déploie une atténuation à deux couches (sonde SystemTap + remontage avec reflink=0) si nécessaire.
⚠️ Avertissement : Cet outil est destiné uniquement à l'évaluation de sécurité autorisée et au durcissement de systèmes. Utilisez-le uniquement sur des systèmes que vous possédez ou pour lesquels vous avez une autorisation explicite de test. Les auteurs déclinent toute responsabilité en cas de mauvaise utilisation.
CVE-2026-64600 (RefluXFS) est une condition de concurrence de gravité élevée dans le système de fichiers XFS du noyau Linux, plus précisément dans le chemin de copie à l'écriture (CoW) des fichiers reflinkés (introduite dans le noyau 4.11). Un attaquant local non privilégié peut corrompre ou écraser arbitrairement des fichiers sur le même volume XFS en provoquant une course entre des écritures O_DIRECT concurrentes sur un clone reflink et un fichier protégé. La corruption se produit au niveau de la couche blocs, survit aux redémarrages et ne laisse aucune trace dans les journaux du noyau.
Noyaux affectés : Linux 4.11 jusqu'aux versions corrigées :
Impact : élévation de privilèges locale vers root, corruption persistante des données, écrasement silencieux de binaires setuid ou de fichiers sensibles.
Cet outil implémente :
/proc/mounts).-m fix) :
FICLONE et copy_file_range sur XFS, en renvoyant -EOPNOTSUPP.reflink=0 (défense en profondeur).-c) – exécute des commandes arbitraires (ex. id) uniquement si le système est vulnérable.-m exploit).reflink=0 (-m fix, nécessite root).--dry-run – prévisualise les actions d'atténuation sans les appliquer.--force – force le déploiement de l'atténuation même si les conditions ne sont pas réunies (laboratoire/démo).-v) pour des informations d'analyse précises.-c) – exécute une commande uniquement si le système est vulnérable (par défaut : id).git clone https://github.com/Debajyoti0-0/CVE-2026-64600.git
cd cve-2026-64600
gcc -o cve-2026-64600 cve-2026-64600.c -lm -lpthread
Prérequis :
-m fix) :
stap) – facultatif, mais recommandé pour une atténuation complète.Facultatif : si SystemTap n'est pas disponible, l'outil se rabattra sur le durcissement par remontage uniquement (si la version de XFS le prend en charge).
./cve-2026-64600
./cve-2026-64600 -v
./cve-2026-64600 -p /mnt/data
./cve-2026-64600 -m exploit
./cve-2026-64600 -m auto
sudo ./cve-2026-64600 -m fix
sudo ./cve-2026-64600 -m fix --dry-run
sudo ./cve-2026-64600 -m fix --force
./cve-2026-64600 -c "whoami"
./cve-2026-64600 -v -c "id"
| Option | Description |
|---|---|
-h, --help | Afficher le message d'aide et quitter. |
-v, --verbose | Sortie détaillée (affiche les détails de la version du noyau analysée). |
-p <path> | Vérifier l'état du reflink XFS sur un point de montage spécifique. |
-m, --mode <mode> | Mode de fonctionnement : check (par défaut), exploit, auto, fix. |
-c, --cmd <command> | Exécuter une commande personnalisée uniquement si le système est vulnérable (par défaut : id). |
--dry-run | Prévisualiser les actions d'atténuation (avec -m fix) sans les appliquer. |
--force | Forcer le déploiement de l'atténuation même si les conditions ne sont pas réunies (laboratoire/démo). |
| Mode | Description |
|---|---|
check | Détection passive – rapporte la version du noyau, l'état du reflink XFS et une heuristique de distribution. Aucune action effectuée. |
exploit | Exécute la vérification sûre de la course (PoC) même si le système est vulnérable. N'applique pas d'atténuation. |
auto | Si le système est vulnérable, exécute la vérification sûre de la course ; sinon, se contente de vérifier. |
fix | Applique l'atténuation en couches (nécessite root). Déploie la sonde SystemTap et tente de remonter XFS avec reflink=0. Ne s'applique que si le noyau est vulnérable et que le reflink XFS est activé (sauf avec --force). |
$ ./cve-2026-64600
┌──────────────────────────────────────────────────────────────────────┐
│ CVE-2026-64600 (RefluXFS) — Mode: check │
└──────────────────────────────────────────────────────────────────────┘