
Tiefgehende technische Analyse und Proof-of-Concept für CVE-2024-38063, eine kritische Windows-IPv6-Kernel-RCE. Enthält Root-Cause-Analyse, Scapy-basierten PoC und eine isolierte Lab-Anleitung für die Bildungsforschung.
Dieses Repository enthält unsere Forschung und Analyse zu CVE-2024-38063, einer kritischen Schwachstelle im Windows TCP/IP-Stack.
CVE steht für Common Vulnerabilities and Exposures. Es handelt sich um ein standardisiertes Wörterbuch öffentlich bekannt gewordener Cybersicherheits-Schwachstellen, das von der MITRE Corporation gepflegt wird. Jeder Eintrag erhält eine eindeutige Kennung im Format CVE-JAHR-NUMMER.
| Feld | Detail |
|---|
| CVE-ID | CVE-2024-38063 |
| Spitzname | The IPv6 Kernel Killer |
| Schweregrad | Kritisch (CVSS 9.8 / 10) |
| Typ | Remote Code Execution (RCE) |
| Ort | Windows TCP/IP-Stack (tcpip.sys) |
| Patch-Datum | August 2024 (Microsoft Patch Tuesday) |
| Entdeckt von | ZeQiao Wu (NSFOCUS TIANQI LAB) |
Ein CVSS-Wert von 9.8 weist auf ein Problem mit nahezu maximalem Schweregrad hin, das ein sofortiges Patchen erfordert.
Im Rahmen dieser Forschung haben wir die folgenden Arbeiten durchgeführt:
CVE-Hintergrundstudie
Erklärt, was eine CVE ist, wie Kennungen von MITRE vergeben werden und welche Informationen ein typischer CVE-Eintrag enthält.
Schwachstellen-Charakterisierung
Dokumentiert, warum CVE-2024-38063 als „Heiliger Gral“-Bug gilt: keine Authentifizierung, keine Benutzerinteraktion, Wurm-Potenzial, IPv6 standardmäßig aktiviert und Auswirkungen im Kernel-Modus.
IPv6-Grundlagen
Behandelt die Unterschiede zwischen IPv4 und IPv6, die Rolle von Extension Headers und warum Fragmentierung in IPv6 anders funktioniert.
Tiefgehende Root-Cause-Analyse
Verfolgt den vollständigen Paketpfad innerhalb von tcpip.sys:
NET_BUFFER_LIST (NBL)-BündelungIpv6pProcessOptions und IppSendErrorListIpv6pReceiveFragmentTerminologie- und Schwierigkeitsbewertung
Erstellt klare Tabellen, die Sicherheitsbegriffe, Windows-spezifische Konzepte und die relative Schwierigkeit jeder Ausbeutungsphase erklären.
Entwicklung eines Proof-of-Concept
Ein auf Scapy basierendes Python-Skript wurde erstellt und dokumentiert, das die erforderlichen verschachtelten ungültigen Destination-Options-Pakete und IPv6-Fragmente konstruiert, um die Schwachstelle auszulösen.
Vollständige Anleitung für ein isoliertes Labor
Schritt-für-Schritt-Anweisungen für:
bcdedit /set debug onDemonstration
Ein Video wurde aufgenommen, das die vollständige Laboreinrichtung, die Skriptausführung und den erfolgreichen Absturz zeigt.
Patch-Überprüfung
Die offiziellen kumulativen Updates vom August 2024 (KB-Nummern) wurden dokumentiert und erklärt, wie der Fix die Race Condition beseitigt.
Der Bug besitzt mehrere Hochrisiko-Eigenschaften:
tcpip.sys (Ring 0). Eine erfolgreiche Ausnutzung gewährt vollständige Systemkontrolle.Die Schwachstelle wird durch eine Kombination von zwei IPv6-Extension-Headern ausgelöst:
Destination Options Header (nh=60)
Enthält einen ungültigen Optionstyp (otype > 0x80). Dies zwingt Windows, einen ICMPv6-Parameter-Problem-Fehler zu erzeugen.
Fragment Header (nh=44)
Hält die Pakete auch nach ihrer Beschädigung in der IPv6-Reassemblierungswarteschlange.
NET_BUFFER_LIST (NBL) gebündelt.Ipv6pProcessOptions erkennt die ungültige Option und übergibt die NBL an IppSendErrorList.IppSendErrorList setzt fälschlicherweise ein internes Flag und beschädigt nachfolgende Pakete in derselben NBL, wodurch deren DataLength auf Null erzwungen wird.Ipv6pReceiveFragment berechnet die Payload-Größe als 0 − HeaderSize, was einen Integer-Unterlauf verursacht (Payload-Länge wird ~4 GB).RtlCopyMemory kopiert die massiv unterlaufene Länge → Kernel-Heap-Overflow.Ein detailliertes Datenflussdiagramm und eine Analyse auf Funktionsebene sind im vollständigen Write-up verfügbar.
| Datei | Zweck |
|---|---|
CVE-2024-38063_Writeup.md | Vollständige detaillierte technische Analyse und komplette Laboranleitung |
poc_script.py | Scapy-basierter Proof-of-Concept |
demo_video.mp4 | Videodemonstration |
README.md | Dieses zusammenfassende Dokument |
Platzieren Sie die drei unterstützenden Dateien im Repository-Stammverzeichnis (oder aktualisieren Sie die Pfade), damit sie verknüpft bleiben.
bcdedit /set debug on + Neustart), um die Zuverlässigkeit des Packet Coalescing zu verbessern.2001:db8::20 → Angreifer, 2001:db8::10 → Ziel).Vollständige Konfigurationsschritte, Fehlerbehebungsmatrix und Bereinigungsanweisungen sind im Write-up dokumentiert.
Microsoft veröffentlichte den Fix als Teil der kumulativen Updates vom August 2024:
| Betriebssystem | KB-Nummer |
|---|---|
| Windows 11 | KB5041580 |
| Windows 10 | KB5041583 |
| Windows Server 2022 | KB5041581 |
| Windows Server 2019 | KB5041579 |
Der Patch führt eine ordnungsgemäße Sperrung um die betroffenen Codepfade ein und beseitigt damit die Race Condition, die zum Integer-Unterlauf und zum Out-of-Bounds-Schreibzugriff führte.
Alle Materialien in diesem Repository (Write-up, Skript und Video) werden ausschließlich für Bildungs- und defensive Sicherheitsforschung bereitgestellt.
Forschungsteam