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
CVE-2026-99999-analysis — CVE-2026-99999 Educational Analysis — Simulation der Angriffskette der Linux-Kernel-csum_start-Schwachstelle (CVSS 9.3). Siehe auch: CVE-2026-99999-exploit (funktionierender PoC). | Kitploit
Tools/GitHubGitHub/01luyicheng/cve-2026-99999-analysis
SpeicherforensikSchwachstellenanalyseExploitationInformationsbeschaffungPapers & ForschungLernen & Bildung
GitHub01luyicheng/cve-2026-99999-analysis

CVE-2026-99999-analysis

CVE-2026-99999 Educational Analysis — Simulation der Angriffskette der Linux-Kernel-csum_start-Schwachstelle (CVSS 9.3). Siehe auch: CVE-2026-99999-exploit (funktionierender PoC).

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen
Repository anzeigen
11vor 17 TagenNoch nicht geprüft

CVE-2026-99999 — Technische Analyse & Studie der Angriffskette

⚠️ Dies ist das Repository für Schulungs-/Analysezwecke. Es demonstriert die Angriffskette von CVE-2026-99999 lokal (kein Netzwerk, kein Root, kein echter Exploit).

🔴 Sie suchen einen funktionierenden Exploit? → Siehe CVE-2026-99999-exploit (echter VM-Escape-PoC, erfordert KVM/QEMU-Laborumgebung).

Validierungsfehler bei csum_start im IPv4-Stack des Linux-Kernels — Guest-to-Host-Speicherofflegung

CVSS 9.3 CRITICAL | CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H
Entdeckt von Paulos | CNA: kernel.org | Veröffentlicht: 2026-10-15


Dies ist ein Schulungs-/Analyseprojekt. Es demonstriert die Angriffskette von CVE-2026-99999 lokal (kein Netzwerk, kein Root, kein echter Exploit). Einen funktionierenden Exploit, der die echte Schwachstelle in einer Live-Umgebung auslöst, finden Sie im internen Exploit-Repository.

⚠️ Nur für autorisierte Sicherheitsforschung in isolierten Laborumgebungen.


Inhaltsverzeichnis

  1. Zusammenfassung der Schwachstelle
  2. Technische Detailanalyse
  3. Angriffskette
  4. Byte-Layout des IP-Headers
  5. Warum csum_start=0 gefährlich ist
  6. Simulation — Die Angriffskette lokal ausführen
  7. Betroffene Versionen
  8. Gegenmaßnahmen
  9. Referenzen
  10. Rechtlicher Haftungsausschluss

Zusammenfassung der Schwachstelle

Eine Gast-VM kann einen virtio-net-Frame senden, dessen virtio_net_hdr csum_start == 0 trägt — was auf den IPv4-Header statt auf den Transport-Header zeigt. Während der GSO-Segmentierung auf dem Host berechnet skb_checksum_help() die Prüfsumme über den Bereich ab csum_start neu und schreibt das Ergebnis zurück nach csum_start + csum_offset.

Bei csum_start = 0 und csum_offset = 0 landet der Schreibvorgang auf dem IHL-Byte (IP-Offset 0) und beschädigt es von 0x45 (IHL 5 → 20 Bytes) zu 0x4F (IHL 15 → 60 Bytes). Das ip_do_fragment() des Kernels liest daraufhin 60 Bytes des IP- Headers, obwohl nur 20 Bytes existieren — und zieht so ~32–64 Bytes angrenzenden Host-Kernel-Heap-Speichers in jedes ausgehende Fragment.

Auswirkung: Kontinuierliche Offenlegung von Kernel-Heap-Speicher vom Gast zum Host.


Technische Detailanalyse

Die virtio_net_hdr-Struktur

struct virtio_net_hdr {           // 10 bytes
    uint8_t  flags;               // VIRTIO_NET_HDR_F_NEEDS_CSUM = 0x01
    uint8_t  gso_type;            // VIRTIO_NET_HDR_GSO_NONE = 0x00
    uint16_t hdr_len;             // network layer header length
    uint16_t gso_size;            // GSO segment size
    uint16_t csum_start;          // offset to transport header start
    uint16_t csum_offset;         // offset to checksum field within transport header
};

Normale vs. Exploit-csum_start-Werte

Einstellungcsum_startcsum_offsetSchreibzielErgebnis
Normal (UDP-Csum-Offload)34 (Eth+IP)6 (UDP-Cksum)Byte 40 (UDP-Prüfsummenfeld)✅ Sicher
Exploit (IHL-Korruption)0 (IP-Header)0 (IHL-Byte)Byte 0 (IHL-Byte)🔴 IHL korrumpiert
Exploit (FragOffset)0 (IP-Header)6 (Flags)Byte 6 (Flags/FragOffset)🟡 Reassemblierung unterbrochen

Funktionsweise von skb_checksum_help()

skb_checksum_help(skb, csum_start=0, csum_offset=0):
  1. Read skb data at offset csum_start (0) = start of IP header
  2. Compute one's complement sum over [0, csum_offset+2) = [0, 2) = first 2 bytes
  3. Write 16-bit result to offset csum_start + csum_offset = byte 0
  4. Result: IHL byte 0x45 → 0x4F (IHL 5→15)
  5. ip_do_fragment() called with corrupted iph:
     → reads 60 bytes of "IP header" (iph + 40 bytes of HEAP DATA)
     → includes that heap data in each outbound fragment

Angriffskette

┌──────────────────────────────────────────────────────────────────────────┐
│                           ATTACK CHAIN OVERVIEW                          │
└──────────────────────────────────────────────────────────────────────────┘

  Guest VM (attacker)
       │
       │  ① build_crafted_packet()
       │     [virtio_net_hdr(csum_start=0)]
       │     [Eth header]
       │     [IPv4 header: 0x45 = IHL 5]
       │     [UDP header]
       │     [payload: "CVE-2026-99999-POC"]
       │
       ▼
  QEMU / vhost-user backend
       │
       │  ② Frame passes through virtio-net
       │     virtio_net_hdr is stored in skb->data
       │     csum_start=0 stored in skb->csum_start
       │
       ▼
  Host Linux Kernel — GSO Segmentation Path
       │
       │  ③ skb_checksum_help() called
       │     Reads: csum_start=0 (IP header start)
       │     Computes: checksum over first 2 bytes
       │     Writes: result to byte 0 (IHL byte)
       │     IHL: 0x45 → 0x4F (IHL 5 → 15)
       │
       │  ④ ip_do_fragment() called with corrupted header
       │     Reads: 60 bytes of "IP header"
       │     Actually reads: 20B real header + 40B HEAP DATA
       │     Includes heap data in each fragment payload
       │
       ▼
  Outbound Network Frames
       │
       │  ⑤ Each fragment contains:
       │     [Eth (14B)] [IP (60B — IHL says 60, only 20 exist)]
       │     [Fragment payload]
       │     [+ ~32-64 bytes of HOST KERNEL HEAP MEMORY]
       │
       ▼
  Evidence captured on host bridge
       │
       │  ⑥ tcpdump / receive_and_dump.py
       │     Captures frames with IHL=0x4F
       │     Frames larger than expected by ~32-64 bytes
       │     Extra bytes = host kernel heap memory!

IP-Header-Byte-Layout (RFC 791)

OffsetFeldNormalwertcsum_offset=0 beschädigtcsum_offset=6 beschädigt
0Version(4) + IHL(4)0x45✅ IHL → 0x4F
1TOS0x00
2–3Gesamtlängevariiert
4–5Identifikationvariiert
6–7Flags + Fragment-Offset0x20..✅ Flags/FragOffset lo
8TTL0x40
9Protokoll0x11 (UDP)
10–11Header-Prüfsummeberechnet
12–15Quell-IPvariiert
16–19Ziel-IPvariiert

Warum csum_start=0 gefährlich ist

In einem normalen virtio-net-Paket mit UDP-Checksum-Offload:

Packet layout:
  [Eth (14B)] [IP (20B)] [UDP (8B)] [payload]

virtio_net_hdr:
  csum_start = 34  ← points at UDP header (Eth+IP = 14+20)
  csum_offset = 6  ← UDP checksum field is 6 bytes into UDP header

skb_checksum_help():
  Write target = 34 + 6 = 40 ← byte 40 is the UDP checksum field ✓ SAFE

Mit CVE-2026-99999 Exploit:

Packet layout:
  [virtio_net_hdr (10B)] [Eth (14B)] [IP (20B)] [UDP (8B)] [payload]

virtio_net_hdr (MALICIOUS):
  csum_start = 0  ← points at start of IP header!
  csum_offset = 0 ← write lands on byte 0 = IHL byte!

skb_checksum_help():
  Write target = 0 + 0 = 0 ← byte 0 is the IHL byte ← CORRUPTED!
  IHL: 0x45 (0100 0101) → 0x4F (0100 1111)
  IHL: 5 (5×4=20 bytes) → 15 (15×4=60 bytes)

ip_do_fragment():
  Reads 60 bytes as "IP header"
  Only 20 bytes exist → 40 bytes of ADJACENT HEAP MEMORY read!

Simulation — die Angriffskette lokal ausführen

Voraussetzungen: Nur Python 3.6+. Kein Netzwerk, kein Root, keine Abhängigkeiten.

# Clone
git clone https://github.com/01luyicheng/CVE-2026-99999-analysis.git
cd CVE-2026-99999-analysis/poc

# Run — IHL corruption / heap-leak simulation (CVSS 9.3 path, default)
python3 cve_2026_99999.py --simulate

# Flags/FragOffset corruption path (fragment reassembly disruption)
python3 cve_2026_99999.py --simulate -c 6
Tool herunterladen