Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Einreichen
ToolsExploitsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

FeedsKontaktDatenschutz© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
Tools/GitHubGitHub/liamromanis101/cve-2026-31431-copy-fail---vulnerability-detection-script
Cloud-Infrastruktur-SicherheitSchwachstellenscannerContainer-SicherheitSchwachstellenanalyseKonfigurationsprüfungDevSecOpsEinbruchserkennungIncident Response
GitHubliamromanis101/cve-2026-31431-copy-fail---vulnerability-detection-script

CVE-2026-31431-Copy-Fail---Vulnerability-Detection-Script

Erkennungsskript für CVE-2026-31431 (Copy Fail), das Kernel-Version, Patch-Vorhandensein, Kernel-Konfigurationen, AF_ALG-Socket-Verfügbarkeit, setuid-Binaries und Gegenmaßnahmen prüft, um den Verwundbarkeitsstatus auf Linux-Systemen zu bestimmen.

Repository anzeigen
25232vor 5 MonatenVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

CVE-2026-31431 — Copy Fail — Skript zur Schwachstellenerkennung

Nur Erkennung. Ein funktionierender PoC existiert bereits unter copy.fail/#exploit. Dieses Skript richtet sich an Systemadministratoren und Sicherheitsteams, die feststellen möchten, wo sie verwundbar sind – oder nach dem Patchen immer noch verwundbar sind.


Worum geht es hier?

Am 29. April 2026 wurde eine Schwachstelle namens Copy Fail (CVE-2026-31431) vom Xint Code Research Team öffentlich bekannt gegeben. Es handelt sich um einen Logikfehler, der seit etwa 2017 – fast ein Jahrzehnt – still im Linux-Kernel vorhanden ist und es jedem unprivilegierten lokalen Benutzer ermöglicht, Root-Rechte zu erlangen.

Nicht „Root unter bestimmten Bedingungen mit etwas Glück und günstigem Wind.“ Sondern einfach... Root. Zuverlässig. Auf praktisch jeder großen Linux-Distribution.

Es betrifft Ubuntu, Amazon Linux, RHEL, SUSE und alles andere, das in den letzten ~8 Jahren einen Mainstream-Kernel ausführt. Gleiches Skript, keine Neukompilierung, keine distributionsspezifischen Anpassungen erforderlich.

Ja, es ist so schlimm, wie es klingt.

Die Kurzfassung, wie es funktioniert

Der Linux-Kernel verfügt über ein Krypto-Subsystem, auf das unprivilegierte Benutzer über AF_ALG-Sockets zugreifen können. Es gibt einen Mechanismus namens splice(), der Dateidaten direkt in dieses Subsystem einspeisen kann, ohne sie zu kopieren – was bedeutet, dass die im Speicher zwischengespeicherte Kopie einer Datei (der „Page Cache“) in einer kryptografischen Operation landet.

Ein bestimmter Algorithmus – authencesn, der für IPsec Extended Sequence Numbers verwendet wird – hat eine Besonderheit: Er verwendet den Ausgabepuffer als Scratch-Space und schreibt 4 Bytes geringfügig über die vorgesehene Stelle hinaus. Normalerweise harmlos. Aber wenn Page-Cache-Seiten einer setuid-Binärdatei wie /usr/bin/su in diesen Ausgabepuffer verkettet werden (dank einer „Optimierung“ von 2017 in algif_aead.c), landen diese 4 Bytes direkt in der zwischengespeicherten Kopie der Binärdatei im Kernel.

Die Operation schlägt mit einem Fehler fehl. Der Kernel markiert diese Seite nie als „dirty“. Die Datei auf der Festplatte bleibt unberührt. Dateiintegritätstools, die Prüfsummen auf der Festplatte prüfen, sehen nichts Falsches.

Aber der Page Cache ist das, was ausgeführt wird. Und su ist setuid root.

Der vollständige technische Bericht ist unter xint.io verfügbar und wirklich lesenswert.


Was die Skripte prüfen

Python-Skript — 13 Prüfungen

Sieben aus der ursprünglichen Veröffentlichung plus sechs neue Prüfungen zur Schließung von Erkennungslücken:

#PrüfungWorauf sie prüft
1Kernel-VersionLiegt dieser Kernel im betroffenen Bereich (4.10–6.14)?
2Patch-VorhandenseinIst der Fix-Commit tatsächlich in Ihrem laufenden Kernel?
3algif_aead-ModulIst das verwundbare Modul geladen oder ladbar?
4CONFIG_CRYPTO_AUTHENC (neu)Ist CONFIG_CRYPTO_AUTHENC fest eingebaut (=y) oder als Modul (=m)? Diese einzelne Option baut sowohl authenc als auch authencesn. Fest eingebaut bedeutet, dass die Modprobe-Blacklist-Mitigation wirkungslos ist.
5CONFIG_CRYPTO_USER_API_AEAD (neu)Ist die AF_ALG-AEAD-Benutzerschnittstelle überhaupt einkompiliert? Wenn nicht, ist der gesamte Exploit-Pfad zur Kompilierzeit geschlossen.
6AF_ALG-SocketKann ein unprivilegierter Benutzer gerade jetzt einen öffnen?
7Python os.spliceIst der reine Python-Exploit-Pfad verfügbar?
8Setuid-BinärdateienErweiterte Liste lesbarer setuid-root-Ziele auf dem System.
9MitigationenAppArmor, SELinux, seccomp — was ist vorhanden?
10Benutzer-Namespaces (neu)Sind unprivilegierte Benutzer-Namespaces aktiviert? (Blockiert Copy Fail nicht direkt, beeinflusst aber die breitere lokale Privesc-Oberfläche.)
11Transparente Hugepages (neu)THP-Status — kann die Page-Cache-Ausrichtung und die Exploit-Zuverlässigkeit beeinflussen.
12Umgebungserkennung (neu)Docker/Container/VM-Kontext — Container teilen den Host-Kernel; der Host ist das, was gepatcht werden muss.
13Root-Benutzer-Warnung (neu)Warnt, wenn als Root ausgeführt, da mehrere Prüfungen für Root unabhängig von unprivilegierten Einschränkungen falsch positive Ergebnisse liefern.

Shell-Skript — 10 Prüfungen

Das Bash-Skript deckt dieselbe Kernerkennungslogik ab, lässt jedoch drei Python-spezifische Punkte aus:

#PrüfungHinweise
1Kernel-Version
2Patch-Vorhandensein
3algif_aead-Modul
4AF_ALG-SocketVerwendet Python als Helfer, falls verfügbar; fällt auf Kernel-Konfigurationsinferenz zurück
5Setuid-BinärdateienErweiterte Liste, wie in der Python-Version
6MitigationenAppArmor, SELinux, seccomp
7CONFIG_CRYPTO_AUTHENC
8Benutzer-Namespaces
9Transparente Hugepages
10Umgebungserkennung

Nicht im Shell-Skript enthalten (im Vergleich zu Python):

Fehlende PrüfungGrund
CONFIG_CRYPTO_USER_API_AEADNoch nicht implementiert — geplant
Python os.splice-VerfügbarkeitFür ein Shell-Skript nicht anwendbar
Root-Benutzer-WarnungNoch nicht implementiert — geplant

Keines der Skripte repariert oder exploitet etwas. Sie sagen Ihnen die Wahrheit über Ihr System, damit Sie entsprechend handeln können.


Anforderungen

  • Python 3.6+
  • Keine externen Abhängigkeiten — nur Standardbibliothek
  • Keine Root-Rechte erforderlich (bewusst — wir prüfen, was ein unprivilegierter Angreifer sehen kann)
  • Empfohlen: als Nicht-Root-Benutzer ausführen — einige Prüfungen (AF_ALG-Socket, setuid-stat) gelingen für Root immer und melden falsch positive Ergebnisse

Verwendung

# Skript klonen oder herunterladen, dann:
python3 cve-2026-31431-detect.py

Das war's. Farbcodierter Bericht mit einer Zusammenfassung am Ende.

Exit-Codes

Das Skript beendet sich mit einem Nicht-Null-Code bei verwundbaren Befunden, was es für den Einsatz in Pipelines geeignet macht:

CodeBedeutung
0Keine verwundbaren Bedingungen gefunden
1Eine oder mehrere verwundbare Bedingungen gefunden
# Beispiel: CI-Schritt fehlschlagen lassen, wenn der Host verwundbar ist
python3 cve-2026-31431-detect.py
rc=$?
if [ $rc -eq 1 ]; then
  echo "VERWUNDBAR — Deployment blockieren"
elif [ $rc -ne 0 ]; then
  echo "FEHLER — Skript konnte nicht abgeschlossen werden (Exit $rc)"
fi

Beispielausgabe

CVE-2026-31431 'Copy Fail' — Schwachstellenerkennung
authencesn Page-Cache-Korruption / lokale Privilegieneskalation
Ausgeführt als uid=1001, euid=1001

=== Kernel-Version ===
  [VERWUNDBAR] Kernel-Version
          Grund : Kernel liegt im verwundbaren Bereich (4.10 – 6.14)
          Detail : Release: 6.12.0-124.45.1.el10_1 — Patch-Status muss bestätigt werden

=== CONFIG_CRYPTO_AUTHENC (Kernel-Konfiguration) ===
  [VERWUNDBAR] CONFIG_CRYPTO_AUTHENC
          Grund : Als Modul gebaut (=m): lädt automatisch bei AF_ALG bind(); Modprobe-Blacklist ist die korrekte Mitigation

=== CONFIG_CRYPTO_USER_API_AEAD (Kernel-Konfiguration) ===
  [VERWUNDBAR] CONFIG_CRYPTO_USER_API_AEAD
          Grund : AF_ALG-AEAD-Schnittstelle ist ein ladbares Modul — unprivilegierte Benutzer können über AF_ALG-Sockets auf das Krypto-Subsystem zugreifen

...

  SYSTEM IST WAHRSCHEINLICH VERWUNDBAR GEGENÜBER CVE-2026-31431
Tool herunterladen