Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
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.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
Estudo-de-Caso-CVE-2026-31431-CopyFail — 🔐 Vollständige Fallstudie zu CVE-2026-31431 (CopyFail) — kritische Schwachstelle zur Privilegieneskalation im Linux-Kernel. Enthält technische Analyse, Verifizierungsskripte, Härtung und Incident-Response-Playbook. Nur zu Bildungszwecken. | Kitploit
Tools/GitHubGitHub/pedro-lucas-melo/estudo-de-caso-cve-2026-31431-copyfail
Privilege EscalationSchwachstellenanalyseExploitationLernen & BildungIncident ResponseKuratierte Ressourcen
GitHubpedro-lucas-melo/estudo-de-caso-cve-2026-31431-copyfail

Estudo-de-Caso-CVE-2026-31431-CopyFail

🔐 Vollständige Fallstudie zu CVE-2026-31431 (CopyFail) — kritische Schwachstelle zur Privilegieneskalation im Linux-Kernel. Enthält technische Analyse, Verifizierungsskripte, Härtung und Incident-Response-Playbook. Nur zu Bildungszwecken.

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen
Repository anzeigen
vor 3 MonatenNoch nicht geprüft

🐧 CVE-2026-31431 — CopyFail: Linux-Kernel-Privilege-Escalation

Vollständige Fallstudie — Wie sie entdeckt wurde, wie sie funktioniert, wie man sie testet, wie man sie repliziert (in sicherer Umgebung) und wie man die kritische Schwachstelle behebt, die fast alle Linux-Distributionen seit 2017 betrifft.


🚨 Rechtlicher Hinweis / Disclaimer

Dieses Repository dient ausschließlich Bildungszwecken. Die hier enthaltenen Informationen richten sich an Sicherheitsexperten, Forscher und Cybersicherheitsstudenten. Verwenden Sie niemals eine der hier beschriebenen Techniken auf Systemen ohne ausdrückliche Genehmigung. Die missbräuchliche Verwendung dieser Informationen kann eine Straftat gemäß Gesetz Nr. 12.737/2012 (Lei Carolina Dieckmann) und dem Marco Civil da Internet (Gesetz Nr. 12.965/2014) darstellen.


📋 Inhaltsverzeichnis

  • Überblick
  • Wie sie entdeckt wurde
  • Wie die Schwachstelle funktioniert
  • Betroffene Systeme
  • Exploitationsszenarien
  • So testen Sie (Sicheres Labor)
  • Replikation des Exploits
  • So beheben Sie das Problem
  • Indikatoren für eine Kompromittierung (IOCs)
  • Erkenntnisse
  • Referenzen

📌 Überblick


🔍 Wie sie entdeckt wurde

Die CopyFail-Schwachstelle wurde vom Sicherheitsunternehmen Theori während der Analyse des Linux-Kernel-Codes entdeckt, insbesondere im Subsystem, das für das Kopieren von Daten zwischen Speicherbereichen verantwortlich ist.

Zeitachse

root@kitploit:~
März/2026       → Theori-Forscher identifizieren anomales Verhalten im Kernel
März/2026       → Verantwortungsvolle Offenlegung (Responsible Disclosure) an das Kernel-Sicherheitsteam
~1 Woche später → Upstream-Patch auf kernel.org verfügbar
Mai/2026        → Exploit-Code (PoC) öffentlich veröffentlicht
01.05.2026      → Microsoft veröffentlicht technische Analyse
04.05.2026      → CISA nimmt in den KEV-Katalog auf (Known Exploited Vulnerabilities)
15.05.2026      → Frist für die Behebung in US-Bundesbehörden

Warum der Name "CopyFail"?

Der Linux-Kernel verfügt über interne Routinen, die für das Kopieren von Daten zwischen verschiedenen Speicherbereichen (Userspace ↔ Kernelspace) verantwortlich sind. Die Schwachstelle trägt den Namen CopyFail, weil die betroffene Komponente bestimmte Daten nicht kopiert, wenn sie es sollte. Dies korrumpiert sensible Datenstrukturen innerhalb des Kernels und eröffnet ein Exploitationsfenster für die Privilegienausweitung.


⚙️ Wie die Schwachstelle funktioniert

Technisches Konzept

Der Linux-Kernel verwaltet Speicher in zwei getrennten Bereichen:

  • Userspace: Hier arbeiten normale Prozesse (Benutzer) mit eingeschränktem Zugriff
  • Kernelspace: Privilegierter Bereich mit vollem Zugriff auf Hardware und Systemdaten
root@kitploit:~
┌─────────────────────────────────────┐
│           USERSPACE                 │
│   Prozess des Angreifers (uid=1000) │
│   → ruft bösartige syscall auf      │
└────────────────┬────────────────────┘
                 │ syscall
                 ▼
┌─────────────────────────────────────┐
│           KERNELSPACE               │
│   Datenkopierroutine                │
│   → BUG: Fehler beim Kopieren von   │
│     Metadaten                       │
│   → korrumpiert Kontrollstruktur    │
│   → Angreifer manipuliert Zeiger    │
│   → führt Code als root aus         │
└─────────────────────────────────────┘

Exploitationsmechanismus

  1. Auslöser: Der Angreifer (lokaler Benutzer ohne Privilegien) ruft eine bestimmte syscall auf, die die fehlerhafte Kopierroutine auslöst
  2. Korruption: Der Fehler beim Kopieren von Daten korrumpiert eine Kernel-Kontrollstruktur (z. B. Credential-Struct oder Funktionszeiger)
  3. Control Flow Hijack: Der Angreifer nutzt die Korruption, um die Kernel-Ausführung umzuleiten
  4. Privilegienausweitung: Der Prozess des Angreifers läuft nun mit uid=0 (root) und erhält die vollständige Kontrolle über das System

Vereinfachter Pseudocode des Bugs

root@kitploit:~
// VERWUNDBARE Version (vereinfacht, didaktisch)
int kernel_copy_data(struct user_request *req) {
    struct kernel_buffer kbuf;
    
    // BUG: kopiert nur einen Teil der Daten und ignoriert kritische Felder
    // Sicherheitsfelder (security_context) werden nicht kopiert!
    memcpy(&kbuf.data, req->data, req->size);
    // → kbuf.security_context bleibt nicht initialisiert (Speichermüll)
    
    process_buffer(&kbuf); // verwendet korrumpierte Daten
    return 0;
}

// KORRIGIERTE Version
int kernel_copy_data(struct user_request *req) {
    struct kernel_buffer kbuf;
    
    // FIX: kopiert die gesamte Struktur, einschließlich Sicherheitsfelder
    if (copy_from_user(&kbuf, req, sizeof(struct kernel_buffer)))
        return -EFAULT;
    
    process_buffer(&kbuf);
    return 0;
}

🎯 Betroffene Systeme

⚠️ Jede Linux-Distribution mit Kernel ≤ 7.0, die seit 2017 ausgeliefert wurde, ist potenziell verwundbar.


💥 Exploitationsszenarien

Szenario 1 — Direkter lokaler Angriff

Ein Benutzer ohne Privilegien auf einem gemeinsam genutzten Server (z. B. Hosting-Umgebung, VPS) führt den Exploit aus und erhält root.

Szenario 2 — Verkettung mit Remote-Exploit (RCE → LPE)

root@kitploit:~
Internet → [RCE über Web-Schwachstelle] → eingeschränkte Shell → [CopyFail] → root

Laut Microsoft-Analyse: Die Schwachstelle kann mit einem über das Internet gelieferten Exploit (z. B. RCE in einer Webanwendung) verkettet werden, was zu einer vollständigen Kompromittierung des Servers führt.

Szenario 3 — Social Engineering

Ein Linux-Benutzer wird dazu verleitet, einen bösartigen Link oder Anhang zu öffnen, der den Exploit lokal auslöst.

Szenario 4 — Supply-Chain-Angriff

Ein böswilliger Akteur kompromittiert das Konto eines Open-Source-Entwicklers und injiziert den Exploit in weit verbreiteten Code.

Szenario 5 — Kompromittierung von Rechenzentren

Ein kompromittierter Cloud-Server kann alle VMs, Container, Anwendungen und Datenbanken von Kunden auf derselben Infrastruktur gefährden.


🧪 So testen Sie (Sicheres Labor)

⚠️ NUR in kontrollierter und isolierter Umgebung — VM ohne Zugriff auf das externe Netzwerk!

Voraussetzungen

root@kitploit:~
# Benötigte Werkzeuge
sudo apt install -y git build-essential libssl-dev bc flex bison

# Aktuelle Kernel-Version prüfen
uname -r

# Prüfen, ob sie im verwundbaren Bereich liegt (≤ 7.0)
# Beispiel für verwundbare Ausgabe: 6.8.0-51-generic

Einrichten der Testumgebung

root@kitploit:~
# 1. Isolierte VM erstellen (empfohlen: VirtualBox oder QEMU)
# Verwenden Sie eine ISO von Ubuntu 24.04 oder Debian Bookworm

# 2. Bestätigen, dass die VM KEINEN Zugriff auf das Produktionsinternet hat
# (Host-Only-Netzwerk oder isoliertes NAT verwenden)

# 3. Benutzer ohne Privilegien erstellen, um den Angreifer zu simulieren
sudo adduser testuser
su - testuser

# 4. Prüfen, dass testuser kein sudo hat
sudo whoami  # sollte zurückgeben: "testuser is not in the sudoers file"

Prüfen, ob das System verwundbar ist

root@kitploit:~
# Verifikationsskript (exploitiert NICHT, prüft nur)
#!/bin/bash

KERNEL_VERSION=$(uname -r | cut -d. -f1,2)
MAJOR=$(echo $KERNEL_VERSION | cut -d. -f1)
MINOR=$(echo $KERNEL_VERSION | cut -d. -f2)

echo "[*] Erkanter Kernel: $(uname -r)"

if [ "$MAJOR" -lt 7 ] || ([ "$MAJOR" -eq 7 ] && [ "$MINOR" -eq 0 ]); then
    echo "[!] POTENZIELL VERWUNDBAR gegen CVE-2026-31431 (CopyFail)"
    echo "[!] Prüfen Sie, ob der Patch von Ihrem Distributionsanbieter angewendet wurde"
else
    echo "[+] Kernel-Version außerhalb des betroffenen Bereichs"
fi

# Prüfen, ob der Patch angewendet wurde (über Paket-Changelogs)
apt changelog linux-image-$(uname -r) 2>/dev/null | grep -i "CVE-2026-31431" && \
    echo "[+] CVE-2026-31431-Patch im Changelog gefunden" || \
    echo "[?] Patch im Changelog nicht erkannt — manuell prüfen"

🔬 Replikation des Exploits (Kontrollierte Umgebung)

🔒 Dieser Abschnitt ist streng bildungsbezogen. Der folgende Code ist eine vereinfachte didaktische Darstellung des Angriffsvektors — nicht der echte Exploit (der hier aus ethischen Gründen nicht veröffentlicht wird).

Konzeptionelle Struktur des Exploits

root@kitploit:~
#!/usr/bin/env python3
"""
CVE-2026-31431 (CopyFail) — Didaktische Darstellung
Zweck: Bildung in offensiver/defensiver Sicherheit
NICHT AUF SYSTEMEN OHNE GENEHMIGUNG VERWENDEN
"""

import ctypes
import os
import sys

def check_environment():
    """Prüft, ob wir uns in einer Laborumgebung befinden"""
    kernel = os.uname().release
    print(f"[*] Kernel: {kernel}")
    print(f"[*] Aktuelle UID: {os.getuid()}")
    
    if os.getuid() == 0:
        print("[-] Wir sind bereits root. Exploit nicht erforderlich.")
        sys.exit(0)

def demonstrate_concept():
    """
    Konzeptdemonstration des Angriffsvektors:
    
    1. Verwundbare syscall identifizieren
    2. Payload konstruieren, der das unvollständige Kopieren auslöst
    3. Speicherkorruption überwachen
    4. Fluss umleiten, um Privilegien zu erweitern
    
    In einem echten Exploit:
    - Der Angreifer verwendet Techniken wie Heap Spray oder ROP-Chains
    - Nutzt das Fenster zwischen Korruption und Verwendung der korrupten Daten
    - Überschreibt Prozess-Anmeldeinformationen (uid → 0)
    """
    print("[*] Konzept: Auslösen der fehlerhaften Kopierroutine")
    print("[*] Konzept: Überwachen der Korruption von struct kernel_buffer")
    print("[*] Konzept: Umleitung des Ausführungsflusses")
    print("[*] Siehe: https://xint.io/blog/copy-fail-linux-distributions")

def main():
    check_environment()
    demonstrate_concept()
    print("\n[i] Für eine vollständige technische Analyse siehe:")
    print("    → https://xint.io/blog/copy-fail-linux-distributions")
    print("    → https://www.microsoft.com/en-us/security/blog/2026/05/01/cve-2026-31431-copy-fail-vulnerability-enables-linux-root-privilege-escalation/")

if __name__ == "__main__":
    main()

Überwachung während der Tests

root@kitploit:~
# In einem separaten Terminal Kernel-Logs überwachen
sudo dmesg -w | grep -E "(oops|panic|null pointer|exploit|cve)"

# Systemaufrufe überwachen
sudo strace -e trace=all -p <PID_DES_PROZESSES>

# UID-Änderungen in Echtzeit prüfen
watch -n 0.5 'cat /proc/self/status | grep -E "^(Uid|Gid)"'

🛡️ So beheben Sie das Problem

1. Kernel aktualisieren (Endgültige Korrektur)

root@kitploit:~
# Ubuntu / Debian
sudo apt update && sudo apt upgrade -y linux-image-generic
sudo reboot

# Version nach dem Neustart prüfen
uname -r

# Red Hat / CentOS / Amazon Linux
sudo dnf update -y kernel
sudo reboot

# SUSE
sudo zypper update -t package kernel-default
sudo reboot

2. Prüfen, ob der Patch angewendet wurde

root@kitploit:~
# Changelog des installierten Kernels prüfen
apt changelog linux-image-$(uname -r) | grep CVE-2026-31431

# Über den Ubuntu-CVE-Tracker
# https://ubuntu.com/security/CVE-2026-31431

# Über die Red-Hat-CVE-Datenbank
# https://access.redhat.com/security/cve/CVE-2026-31431

3. Temporäre Maßnahmen (falls ein sofortiges Update nicht möglich ist)

root@kitploit:~
# Ausführung von SUID-Binaries einschränken (reduziert Angriffsfläche)
find / -perm -4000 -type f 2>/dev/null

# Auditierung verdächtiger syscalls aktivieren
sudo auditctl -a always,exit -F arch=b64 -S all -k syscall_audit

# Versuche zur Privilegienausweitung überwachen
sudo apt install -y auditd
sudo auditctl -w /etc/passwd -p wa -k passwd_changes
sudo auditctl -w /etc/sudoers -p wa -k sudoers_changes

4. Zusätzliches Härtung nach dem Patch

root@kitploit:~
# Kernel-Schutz aktivieren
# /etc/sysctl.conf — hinzufügen:
kernel.dmesg_restrict = 1
kernel.kptr_restrict = 2
kernel.perf_event_paranoid = 3
kernel.unprivileged_bpf_disabled = 1
net.core.bpf_jit_harden = 2

# Anwenden
sudo sysctl -p

5. Checkliste für die Incident-Response

  • Alle Linux-Systeme mit Kernel ≤ 7.0 identifizieren
  • Server priorisieren, die dem Internet oder Rechenzentren ausgesetzt sind
  • Patches jeder Distribution anwenden (nicht nur Upstream)
  • Authentifizierungsprotokolle auf verdächtige Eskalationen prüfen
  • Vorhandensein nicht autorisierter SUID-Binaries prüfen
  • Crontabs und Dienste prüfen, die als root laufen
  • Sicherheitsteam und Management informieren
  • Bei Anzeichen von Exploitation dokumentieren und melden

🔎 Indikatoren für eine Kompromittierung (IOCs)

root@kitploit:~
# Anzeichen für mögliche Exploitation:

# 1. Prozesse normaler Benutzer, die als root laufen
ps aux | awk '$1 != "root" && $2 == "0"'

# 2. Kürzlich erstellte neue SUID-Binaries
find / -perm -4000 -newer /etc/passwd -type f 2>/dev/null

# 3. Verdächtige Einträge in /etc/passwd
grep "uid=0" /etc/passwd

# 4. Kernel-Logs mit Korruptionsmeldungen
dmesg | grep -iE "(oops|BUG:|corruption|cve)"

# 5. Nicht autorisierte Netzwerkverbindungen
ss -tulnp | grep LISTEN

📚 Erkenntnisse

Für Sicherheitsteams

  1. Patch-Management ist kritisch — Der Upstream-Patch war in ~1 Woche verfügbar, aber Distributionen brauchen länger für die Auslieferung. Überwachen Sie Ihre Anbieter aktiv.

  2. Defense in Depth — LPE allein reicht nicht; der Angreifer benötigt anfänglichen Zugriff. Kontrollieren Sie, wer Zugriff auf das System hat.

  3. Verkettung von Schwachstellen — Isolierte CVEs mit "geringem Risiko" können kritisch werden, wenn sie kombiniert werden. Bewerten Sie Risiken im Kontext, nicht nur anhand des isolierten CVSS.

  4. Supply Chain ist ein realer Vektor — Weit verbreiteter Open-Source-Code kann ein Angriffsvektor sein. Implementieren Sie Integritätsprüfungen für Pakete.

  5. Kubernetes und Container sind nicht immun — Wenn der Host-Kernel verwundbar ist, sind auch Container darüber betroffen.

Für Entwickler

  1. Kopieren Sie immer vollständige Structs — Kopieren Sie niemals einzelne Felder von Kernel-Kontrollstrukturen, ohne sicherzustellen, dass alle kritischen Felder initialisiert sind.

  2. Verwenden Sie copy_from_user() korrekt — Kernel-Kopierfunktionen haben eine spezifische Semantik. Lesen Sie die Dokumentation, bevor Sie sie verwenden.

  3. Sicherheits-Code-Review — Kernel-Änderungen benötigen eine sicherheitsfokussierte Überprüfung, nicht nur Funktionalität.

Für Führungskräfte

  1. Kernel-Updates sind Priorität — Sie sind nicht nur "Routinewartung". Kernel-Schwachstellen sind häufig kritisch.

  2. Asset-Inventar ist grundlegend — Sie können nicht beheben, was Sie nicht kennen. Halten Sie ein aktuelles Inventar der Linux-Systeme und ihrer Kernel-Versionen bereit.

  3. Incident-Response-Plan — Halten Sie ein Playbook für kritische Schwachstellen mit aggressiven Fristen (wie CISA KEV) bereit.


📖 Referenzen

  • CISA KEV-Katalog — CVE-2026-31431
  • Theori — Technische Entdeckung von CopyFail
  • Microsoft Security Blog — Analyse der Schwachstelle
  • CopyFail — Offizielle Website der Schwachstelle
  • Jorijn Schrijvershof — Detaillierte Erklärung
  • Olhar Digital — Berichterstattung auf Portugiesisch
  • Ubuntu Security — CVE-Tracker
  • Red Hat — CVE-Datenbank

🤝 Mitwirken

Etwas Veraltetes gefunden oder möchten Sie ein Testszenario hinzufügen? Eröffnen Sie ein Issue oder einen PR!

Bitte respektieren Sie den Verhaltenskodex: Dieses Repository dient der Bildung und Verteidigung — nicht für böswillige Aktivitäten.


📄 Lizenz

MIT-Lizenz — verwenden Sie es, um Systeme zu lernen, zu lehren und zu verteidigen. Niemals zum Angreifen.


"Den Angriff zu kennen, ist der erste Schritt zum Aufbau der Verteidigung."

⭐ Wenn diese Fallstudie hilfreich war, hinterlassen Sie dem Repository einen Stern!

Tool herunterladen
FeldDetail
CVE-IDCVE-2026-31431
SpitznameCopyFail
TypLokale Privilege Escalation (LPE) — Privilegienausweitung
CVSS-Score8.8 (Hoch) / potenziell kritisch in Verkettung
KomponenteLinux-Kernel — Datenkopiermechanismus
VersionenLinux-Kernel ≤ 7.0 (Distributionen seit 2017)
Entdeckt vonTheori (Sicherheitsunternehmen)
VeröffentlichtMärz 2026
Upstream-PatchVerfügbar ~1 Woche nach verantwortungsvoller Offenlegung
CISA-StatusAls aktiv ausgenutzt katalogisiert — KEV-Katalog
CISA-FristBundesbehörden müssen bis 15.05.2026 patchen
DistributionVersionStatus
Red Hat Enterprise Linux10.1✅ Verwundbar
Ubuntu LTS24.04✅ Verwundbar
Amazon Linux2023✅ Verwundbar
SUSE Linux16✅ Verwundbar
DebianAktuelles Stable✅ Verwundbar
FedoraAktuell✅ Verwundbar
Kubernetes (Nodes)Alle mit Kernel ≤7.0✅ Verwundbar