Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Log in
Invia
StrumentiExploitsBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

FeedContattoPrivacy© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
CVE-2026-99999 — Proof of concept esclusivamente simulativo per CVE-2026-99999, una vulnerabilità di validazione di csum_start IPv4 in virtio-net del kernel Linux che consente la divulgazione di memoria heap da guest a host. | Kitploit
Strumenti/GitHubGitHub/01luyicheng/cve-2026-99999
Memory ForensicsAnalisi delle VulnerabilitàExploitSicurezza di ReteApprendimento e Formazione
GitHub01luyicheng/cve-2026-99999

CVE-2026-99999

Proof of concept esclusivamente simulativo per CVE-2026-99999, una vulnerabilità di validazione di csum_start IPv4 in virtio-net del kernel Linux che consente la divulgazione di memoria heap da guest a host.

Vedi Repository
51317 giorni faNon ancora revisionato

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

CVE-2026-99999 (PwnEscape) — PoC della vulnerabilità di validazione di csum_start nell'IPv4 del kernel Linux

Divulgazione di informazioni nel kernel Linux tramite metadati di checksum virtio-net malformati.
CVSS 9.3 CRITICO | CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H
Scoperta da Paulos | CNA: kernel.org | Pubblicata: 2026-10-15

⚠️ Questo è un PoC didattico / di validazione. Viene eseguito solo in modalità --simulate (nessun I/O di rete, nessun privilegio root richiesto). Dimostra la catena di attacco localmente senza sfruttare alcun sistema attivo.


Indice

  1. Riepilogo della vulnerabilità
  2. Dettagli tecnici
  3. Versioni interessate
  4. Avvio rapido
  5. Opzioni
  6. Come funziona
  7. Scenari di attacco
  8. Revisione del codice
  9. Mitigazione
  10. Riferimenti
  11. Dichiarazione di non responsabilità legale

Riepilogo della vulnerabilità

Una VM guest può inviare un frame virtio-net il cui virtio_net_hdr porta csum_start == 0 — puntando all'interno dell'header IPv4 invece che all'header di trasporto. Durante la segmentazione GSO sull'host, skb_checksum_help() ricalcola il checksum che copre [csum_start, csum_start + csum_offset + 2) e scrive il risultato in csum_start + csum_offset.

Quando csum_start = 0 e csum_offset = 0, la scrittura finisce sul byte IHL (offset IP 0), corrompendolo da 0x45 (IHL 5 → 20 byte) a 0x4F (IHL 15 → 60 byte). La funzione ip_do_fragment() del kernel legge quindi 60 byte di header IP quando ne esistono solo 20 — trascinando ~32–64 byte di memoria heap adiacente del kernel host in ciascun frammento in uscita.

Impatto: Divulgazione continua di memoria heap del kernel da guest a host.

Superficie di attacco: Host KVM/QEMU con NIC virtio-net e bridging TAP abilitato, o qualsiasi percorso di comunicazione VM→host in cui l'host elabora frame virtio-net tramite GSO.


Dettagli tecnici

Layout dei byte dell'header IP (RFC 791)

OffsetCampocsum_offset=0 corrompecsum_offset=6 corrompe
0Version + IHL✅ byte IHL
1TOS
2–3Total Length
4–5Identification
6–7Flags / Fragment Offset✅ Flags/FragOffset (lo)
8TTL
9Protocol
10–11Header Checksum
12–15Source IP
16–19Destination IP

Catena di attacco

Guest VM
  → constructs virtio_net_hdr with csum_start=0 (pointing at IP header)
  → sends frame through virtio-net to host
Host kernel (GSO segmentation path)
  → skb_checksum_help() called
  → writes checksum result to csum_start + csum_offset
  → if csum_offset=0: writes IHL byte (0x45 → 0x4F)
  → ip_do_fragment() reads 60B header when only 20B exist
  → ~32–64B heap memory included in each outbound fragment

Due percorsi di corruzione

csum_offsetCampo corrottoConseguenzaVettore CVSS
0 (predefinito)Byte IHL (offset 0)Lettura OOB dell'heap → memory leakDivulgazione di informazioni
6Flags/FragOffset (offset 6)Interruzione del riassemblaggio dei frammentiDisponibilità

Versioni interessate

Tutte le versioni del kernel Linux precedenti ai commit di correzione.

Non interessate (corrette): 5.10.272+, 5.15.223+, 6.1.190+, 6.12.113+, 6.18.57+, 7.2.11+

Verifica la versione del tuo kernel:

uname -r
cat /proc/version

Avvio rapido

Requisiti: solo Python 3.6+. Nessun pacchetto pip, nessuna rete, nessun root.

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

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

# Simulate with 5 datagrams and 8 fragments each
python3 CVE-2026-99999_pwnescape.py --simulate -n 5 -f 8

# Flags/FragOffset corruption path (fragment reassembly disruption)
python3 CVE-2026-99999_pwnescape.py --simulate -c 6

Senza --simulate, lo script stampa la descrizione completa della vulnerabilità ed esce:

python3 CVE-2026-99999_pwnescape.py

Opzioni

FlagDescrizionePredefinito
--simulateEsegue la simulazione della catena di exploit (obbligatorio)—
-c, --csum-offset0 = byte IHL (lettura OOB, predefinito); 6 = Flags/FragOffset0
-n, --num-packetsNumero di datagrammi da simulare3
-f, --fragmentsFrammenti per datagramma (minimo 2)4

Come funziona

La simulazione si svolge in 5 passaggi (non è richiesta la rete):

  1. Passaggio 1 — Costruzione del pacchetto: Costruisce un pacchetto valido Ethernet + IPv4 + UDP.
  2. Passaggio 2 — Allegare un virtio_net_hdr malevolo: Aggiunge un virtio_net_hdr con csum_start=0 (che punta al byte IHL dell'IPv4) e csum_offset configurabile.
  3. Passaggio 3 — Simulare la corruzione di skb_checksum_help(): Simula localmente la scrittura del kernel su csum_start + csum_offset, mostrando quale byte dell'header IP viene sovrascritto e con quale valore.
  4. Passaggio 4 — Mostrare l'impatto sui frammenti: Ricostruisce ogni frammento GSO con l'header IP corrotto, mostrando quale campo è interessato.
  5. Passaggio 5 — Restituzione dei risultati: Stampa le dimensioni risultanti dei frammenti e, per il percorso IHL (csum_offset=0), segnala la perdita di memoria heap di ~32–64B.

Scenari di attacco

Scenario A: Corruzione dell'IHL → Perdita di memoria heap (CVSS 9.3)

python3 CVE-2026-99999_pwnescape.py --simulate -n 1 -c 0

csum_start=0, csum_offset=0 → la scrittura finisce sul byte IHL → IHL da 5 a 15 → ip_do_fragment() legge 60B quando ne esistono solo 20 → ~32–64B di memoria heap divulgati per frammento.

Scenario B: Corruzione di Flags/FragOffset → Interruzione del riassemblaggio

python3 CVE-2026-99999_pwnescape.py --simulate -n 1 -c 6

csum_start=0, csum_offset=6 → la scrittura finisce sul byte Flags/FragOffset → metadati di riassemblaggio dei frammenti corrotti → il riassemblaggio dei frammenti fallisce.


Validazione e revisione del codice

Questo PoC è stato revisionato in modo indipendente. Risultati principali:

  • Logica della catena di attacco completamente accurata; layout dell'header IP (RFC 791) verificato
  • Validazione degli input completa; nessun crash nei casi limite
  • Nessun I/O di rete; funziona completamente offline; non richiede root
  • Coerente con la descrizione NVD e il punteggio CVSS 9.3
  • Punteggio complessivo della revisione: 8.7/10 — Pronto per la produzione per uso didattico.

I report completi della revisione tecnica sono conservati nel repository interno (CVE-2026-99999-internal) per motivi di sicurezza.


Mitigazione

  • Applicare le patch di sicurezza del kernel dai rami stabili di kernel.org
  • Aggiornare a 5.10.272+, 5.15.223+, 6.1.190+, 6.12.113+ o versioni successive
  • Verificare le configurazioni virtio-net sugli host KVM/QEMU; disabilitare il bridging TAP se non necessario
  • Utilizzare la para-virtualizzazione virtio-net invece del bridging TAP ove possibile

Verificare lo stato delle patch:

# Check if your kernel has the fix (look for commit 6785011f8b16abf40b1e9d8b2)
cat /proc/config.gz 2>/dev/null | zcat | grep CONFIG_IPV4
# Or check dmesg for related errors after heavy network activity from a VM

Riferimenti

Scarica lo strumento