
Ein C-basiertes Linux-Sicherheitstool zur Erkennung, sicheren Verifizierung (Proof of Concept) und Entschärfung von CVE-2026-64600 (RefluXFS). Es bietet die Bewertung von Kernel-Schwachstellen, die Erkennung von XFS-Reflinks, einen sicheren Race-Condition-PoC und eine mehrschichtige Mitigation mithilfe von SystemTap und XFS-Härtung.
Dieses Repository enthält ein umfassendes C-Dienstprogramm zum Erkennen, sicheren Verifizieren und Entschärfen der RefluXFS-Schwachstelle (CVE‑2026‑64600) auf Linux-Systemen mit dem XFS-Dateisystem. Das Tool prüft, ob ein anfälliger Kernel vorliegt, identifiziert XFS-Mounts mit aktiviertem Reflink, versucht optional einen sicheren Race-Trigger auszulösen und setzt bei Bedarf eine zweischichtige Schadensbegrenzung ein (SystemTap-Probe + Remount mit reflink=0).
⚠️ Haftungsausschluss: Dieses Tool ist ausschließlich für autorisierte Sicherheitsbewertungen und Systemhärtung bestimmt. Verwenden Sie es nur auf Systemen, die Ihnen gehören oder für die Sie ausdrücklich die Erlaubnis zum Testen haben. Die Autoren übernehmen keine Haftung für Missbrauch.
CVE-2026-64600 (RefluXFS) ist eine Race-Condition mit hohem Schweregrad im XFS-Dateisystem des Linux-Kernels, genauer gesagt im Copy-on-Write-Pfad (CoW) für Reflink-Dateien (eingeführt in Kernel 4.11). Ein unprivilegierter lokaler Angreifer kann beliebige Dateien auf demselben XFS-Volume beschädigen oder überschreiben, indem er parallele O_DIRECT-Schreibvorgänge auf einen Reflink-Klon gegen eine geschützte Datei antreten lässt. Die Beschädigung erfolgt auf Blockebene, übersteht Neustarts und hinterlässt keine Spuren in den Kernel-Protokollen.
Betroffene Kernel: Linux 4.11 bis zu den behobenen Versionen:
Auswirkungen: Lokale Rechteausweitung zu Root, dauerhafte Datenbeschädigung, stilles Überschreiben von Setuid-Binärdateien oder sensiblen Dateien.
Dieses Tool implementiert:
/proc/mounts).-m fix verwendet wird):
FICLONE- und copy_file_range-Syscalls auf XFS ab und gibt -EOPNOTSUPP zurück.reflink=0 neu zu mounten (Defense in Depth).-c) – führt beliebige Befehle (z. B. id) nur aus, wenn das System anfällig ist.-m exploit).reflink=0 neu (-m fix, erfordert Root).--dry-run – Mitigationsmaßnahmen anzeigen, ohne sie anzuwenden.--force – Mitigation auch dann erzwingen, wenn die Bedingungen nicht erfüllt sind (Labor/Demo).-v) für detaillierte Parsing-Informationen.-c) – führt einen Befehl nur aus, wenn das System anfällig ist (Standard: 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
Voraussetzungen:
-m fix):
stap-Befehl) – optional, aber für vollständige Schadensbegrenzung empfohlen.Optional: Wenn SystemTap nicht verfügbar ist, verwendet das Tool nur die Remount-Härtung als Fallback (sofern von der XFS-Version unterstützt).
./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"
$ ./cve-2026-64600
┌──────────────────────────────────────────────────────────────────────┐
│ CVE-2026-64600 (RefluXFS) — Mode: check │
└──────────────────────────────────────────────────────────────────────┘
─── System Information ───
Kernel 5.15.0-91-generic
Architecture x86_64
─── Vulnerability Assessment ───
Kernel Vulnerable NO
XFS Reflink (any mount) DISABLED
Distribution Affected (heuristic) NO
────────────────────────────────────────────────────────────────────
FINAL VERDICT
────────────────────────────────────────────────────────────────────
┌──────────────────────────────────────────────────────────────────────┐
│ SAFE: kernel not vulnerable and no XFS reflink found │
└──────────────────────────────────────────────────────────────────────┘
Kernel: 5.15.0-91-generic (not vulnerable)
XFS reflink: not detected
System appears secure against CVE-2026-64600
────────────────────────────────────────────────────────────────────
$ ./cve-2026-64600
┌──────────────────────────────────────────────────────────────────────┐
│ CVE-2026-64600 (RefluXFS) — Mode: check │
└──────────────────────────────────────────────────────────────────────┘
─── System Information ───
Kernel 6.12.0-rc2
Architecture x86_64
─── Vulnerability Assessment ───
Kernel Vulnerable YES
XFS Reflink (any mount) DISABLED
Distribution Affected (heuristic) YES
A vulnerable kernel was detected. Show remediation advisory? [y/n]: n
────────────────────────────────────────────────────────────────────
FINAL VERDICT
────────────────────────────────────────────────────────────────────
┌──────────────────────────────────────────────────────────────────────┐
│ PARTIAL: vulnerable kernel, but no XFS reflink found │
└──────────────────────────────────────────────────────────────────────┘
Kernel: 6.12.0-rc2 (vulnerable)
XFS reflink: not detected
Recommendation: still consider kernel update as precaution
────────────────────────────────────────────────────────────────────
$ sudo ./cve-2026-64600 -m fix
┌──────────────────────────────────────────────────────────────────────┐
│ CVE-2026-64600 (RefluXFS) — Mode: fix │
└──────────────────────────────────────────────────────────────────────┘
─── System Information ───
Kernel 6.12.0-rc2
Architecture x86_64
─── Vulnerability Assessment ───
Kernel Vulnerable YES
XFS Reflink (any mount) ENABLED
Distribution Affected (heuristic) YES
--- Mitigation Deployment ---
Layer 2/2: mount-level hardening (remount reflink=0)
Remounted /mnt/xfs with reflink=0
Layer 1/2: syscall-level block (SystemTap probe)
Status DEPLOYED (SystemTap)
Log: /var/log/refluxfs-block.log
Stop: sudo pkill -f 'stap.*refluxfs-block'
Verify: cp --reflink=always /etc/passwd /tmp/test 2>&1 | grep -q 'Operation not supported'
Status MITIGATION ACTIVE (both layers)
--- FINAL VERDICT ---
┌──────────────────────────────────────────────────────────────────────┐
│ CONFIRMED VULNERABLE (race triggered) │
└──────────────────────────────────────────────────────────────────────┘
Kernel: 6.12.0-rc2 (vulnerable)
XFS reflink: enabled
Distribution: affected
Um dieses Tool in einer sicheren Umgebung zu testen, können Sie eine Linux-VM mit einer XFS-Partition einrichten, die mit reflink=1 erstellt wurde. Zum Beispiel:
# Create a loop device with an XFS filesystem (reflink enabled)
dd if=/dev/zero of=/tmp/xfs.img bs=1M count=1024
mkfs.xfs -m reflink=1 /tmp/xfs.img
sudo mount -o loop /tmp/xfs.img /mnt/xfs
Führen Sie dann das Tool auf dem gemounteten Pfad (-p /mnt/xfs) aus, um Erkennung und Schadensbegrenzung zu testen.
Dieses Projekt ist unter der GNU General Public License v3.0 lizenziert – Einzelheiten finden Sie in der Datei LICENSE.
Issues und Pull Requests sind willkommen. Bitte stellen Sie sicher, dass Ihre Beiträge die gleiche Funktionalität beibehalten und die ethischen Nutzungsrichtlinien einhalten.
Denken Sie daran: Holen Sie vor dem Testen eines Sicherheitswerkzeugs immer die entsprechende Genehmigung ein. Bleiben Sie ethisch und verantwortungsvoll.
| Option | Beschreibung |
|---|
-h, --help | Hilfe anzeigen und beenden. |
-v, --verbose | Ausführliche Ausgabe (Details der geparsten Kernel-Version anzeigen). |
-p <path> | XFS-Reflink-Status auf einem bestimmten Mountpunkt prüfen. |
-m, --mode <mode> | Betriebsmodus: check (Standard), exploit, auto, fix. |
-c, --cmd <command> | Benutzerdefinierten Befehl nur ausführen, wenn das System anfällig ist (Standard: id). |
--dry-run | Mitigationsmaßnahmen (mit -m fix) anzeigen, ohne sie anzuwenden. |
--force | Schadensbegrenzung auch dann erzwingen, wenn die Bedingungen nicht erfüllt sind (Labor/Demo). |
| Modus | Beschreibung |
|---|
check | Passive Erkennung – meldet Kernel-Version, XFS-Reflink-Status und Distributions-Heuristik. Es werden keine Aktionen ausgeführt. |
exploit | Führt die sichere Race-Verifizierung (PoC) aus, auch wenn das System anfällig ist. Wendet keine Schadensbegrenzung an. |
auto | Wenn das System anfällig ist, führt es die sichere Race-Verifizierung aus; andernfalls wird nur geprüft. |
fix | Wendet die mehrschichtige Schadensbegrenzung an (erfordert Root). Setzt die SystemTap-Probe ein und versucht, XFS mit reflink=0 neu zu mounten. Wird nur angewendet, wenn der Kernel anfällig und XFS-Reflink aktiviert ist (sofern nicht --force verwendet wird). |