Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
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.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
CVE-2026-81000 — Repository di ricerca per CVE-2026-81000 (TUNderflow), un underflow di intero nell'headroom di ricezione TUN/TAP del kernel Linux che consente l'escalation locale dei privilegi, con PoC, analisi della causa radice e configurazione del laboratorio. | Kitploit
Strumenti/GitHubGitHub/0xblackash/cve-2026-81000
Escalation di PrivilegiAnalisi delle VulnerabilitàExploitReverse EngineeringPenetration TestingPaper e RicercaApprendimento e FormazioneBinary ExploitationLab e Pratica

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
GitHub0xblackash/cve-2026-81000

CVE-2026-81000

Repository di ricerca per CVE-2026-81000 (TUNderflow), un underflow di intero nell'headroom di ricezione TUN/TAP del kernel Linux che consente l'escalation locale dei privilegi, con PoC, analisi della causa radice e configurazione del laboratorio.

Vedi Repository
7h 53m faNon ancora revisionato

⚡ CVE-2026-81000 - TUNderflow

Corruzione della memoria nell'headroom di ricezione di TUN/TAP del kernel Linux

Una vulnerabilità di corruzione della memoria del kernel Linux nel sottosistema di networking TUN/TAP, causata da limiti insufficienti sull'headroom di ricezione e da un underflow di interi nel percorso di allocazione dei pacchetti.


⚠️ Disclaimer

Questo repository è destinato a ricerca di sicurezza autorizzata, analisi di vulnerabilità, ambienti CTF, debugging del kernel e test difensivi.

Non utilizzare il codice proof-of-concept contro sistemi senza esplicita autorizzazione.


📌 Panoramica della vulnerabilità

L'advisory CVE descrive il problema come un underflow di interi che può causare il posizionamento di skb->data al di fuori dell'head dell'skb allocato.


🧬 Descrizione della vulnerabilità

La vulnerabilità esiste nel percorso di ricezione TUN/TAP del kernel Linux.

Il codice interessato utilizza l'headroom di ricezione configurato del dispositivo TUN sia come headroom del pacchetto sia nel calcolo di quanti dati del pacchetto devono rimanere lineari.

Un valore di headroom eccessivo può quindi creare un calcolo non valido in:

root@kitploit:~
SKB_MAX_HEAD(align)

Quando il valore fornito supera l'head skb utilizzabile di una pagina, il calcolo può andare in underflow.

Concettualmente:

root@kitploit:~
Oversized receive headroom
          │
          ▼
     SKB_MAX_HEAD()
          │
          ▼
     Integer underflow
          │
          ▼
    Negative value
          │
          ▼
      size_t wrap
          │
          ▼
Invalid skb data placement
          │
          ▼
Kernel memory corruption

L'implementazione vulnerabile si trova in:

root@kitploit:~
drivers/net/tun.c

con tun_get_user() al centro del percorso vulnerabile.


🔬 Causa principale

Il problema di fondo è l'headroom di ricezione TUN limitato in modo insufficiente.

Il kernel può ricevere una richiesta di headroom eccessiva attraverso percorsi di dispositivi di rete che propagano il valore a TUN/TAP.

La vulnerabilità diventa particolarmente interessante quando una configurazione di rete virtuale complessa fa sì che un valore di headroom elevato raggiunga un dispositivo TUN.

La divulgazione pubblica descrive uno scenario che coinvolge:

root@kitploit:~
Netkit
   │
   ▼
VXLAN
   │
   ▼
Open vSwitch
   │
   ▼
TUN

Una configurazione di esempio può propagare circa 4160 byte di headroom a una porta TUN raw, causando l'underflow dell'aritmetica vulnerabile.


💥 Impatto sulla sicurezza

La corruzione avviene nella logica di gestione della memoria di networking del kernel.

Le conseguenze potenziali includono:

  • Corruzione della memoria del kernel
  • Crash del kernel
  • Denial of service
  • Corruzione delle strutture del kernel
  • Potenziale esecuzione di codice nel kernel
  • Escalation locale dei privilegi

La divulgazione pubblica riporta la vulnerabilità come parte di un gruppo di vulnerabilità local-root di Linux e afferma che il PoC pubblicato può ottenere l'esecuzione da utente locale non privilegiato a root su target supportati.

La sfruttabilità dipende dall'ambiente e richiede la configurazione pertinente del dispositivo TUN/di rete e le funzionalità di supporto.


🧠 Flusso tecnico

root@kitploit:~
             ATTACKER
                 │
                 ▼
       Oversized network headroom
                 │
                 ▼
        Virtual network device
                 │
                 ▼
             Open vSwitch
                 │
                 ▼
              TUN/TAP
                 │
                 ▼
          tun_get_user()
                 │
                 ▼
       SKB_MAX_HEAD(align)
                 │
                 ▼
          Integer underflow
                 │
                 ▼
          size_t wraparound
                 │
                 ▼
       Invalid skb->data offset
                 │
                 ▼
       Kernel memory corruption

🔎 Percorso del codice vulnerabile

I componenti importanti sono:

root@kitploit:~
drivers/net/tun.c
        │
        ├── tun_set_headroom()
        │
        ├── tun_get_user()
        │
        └── tun_alloc_skb()

La relazione vulnerabile può essere semplificata come:

root@kitploit:~
tun->align
    │
    ├── skb headroom
    │
    └── linear-data calculation

L'utilizzo dello stesso valore eccessivo in entrambi i calcoli crea una relazione non sicura tra l'headroom richiesto e il budget effettivo dell'head skb.


🧮 Underflow di interi

La proprietà di sicurezza critica può essere rappresentata concettualmente come:

root@kitploit:~
usable_head < requested_headroom

che può risultare in:

root@kitploit:~
SKB_MAX_HEAD(align) < 0

seguito da una conversione senza segno:

root@kitploit:~
negative value
      ↓
size_t
      ↓
very large unsigned value

Questo può in definitiva influenzare l'allocazione/il posizionamento dei dati dell'skb.

La descrizione ufficiale nota specificamente che il valore risultante va in wrap quando viene assegnato alla variabile size_t linear.


🩹 Correzione upstream

La correzione upstream è:

root@kitploit:~
447c9303942c439a117d9b76ce6d6e2116c38ee7

Commit:

root@kitploit:~
net: tun: bound receive headroom

La correzione limita l'headroom memorizzato da TUN rispetto al budget disponibile dell'head skb di una pagina e al più grande offset valido a 16 bit dell'header skb. Garantisce inoltre che siano disponibili dati lineari sufficienti per l'elaborazione TUN e TAP raw.


🛡️ Concetto di patch

Prima

root@kitploit:~
User / network device
        │
        ▼
Large headroom
        │
        ▼
tun->align
        │
        ▼
Unsafe arithmetic
        │
        ▼
Potential OOB access

Dopo

root@kitploit:~
User / network device
        │
        ▼
Large headroom
        │
        ▼
Bounded headroom
        │
        ▼
Safe skb calculation
        │
        ▼
Normal packet processing

📊 Vulnerabile vs Corretto


🧪 Ambiente di ricerca

Topologia di laboratorio consigliata:

root@kitploit:~
┌─────────────────────────────────────────┐
│             Linux VM / Host             │
│                                         │
│   ┌─────────┐     ┌──────────────┐     │
│   │ Netkit  │────▶│    VXLAN     │     │
│   └─────────┘     └──────┬───────┘     │
│                          │             │
│                   ┌──────▼───────┐     │
│                   │ Open vSwitch │     │
│                   └──────┬───────┘     │
│                          │             │
│                   ┌──────▼───────┐     │
│                   │    TUN/TAP   │     │
│                   └──────────────┘     │
│                                         │
└─────────────────────────────────────────┘

Strumenti utili:

root@kitploit:~
uname -a
ip link
ip tuntap
bridge link
ovs-vsctl show
dmesg -w

Per il debugging del kernel:

root@kitploit:~
GDB
GDB + GEF
GDB + pwndbg
crash
objdump
readelf
pahole

🔎 Verifica del kernel

Controllare il kernel in esecuzione:

root@kitploit:~
uname -r

Controllare la configurazione del kernel:

root@kitploit:~
grep CONFIG_TUN /boot/config-$(uname -r)

Configurazione attesa:

root@kitploit:~
CONFIG_TUN=y

oppure:

root@kitploit:~
CONFIG_TUN=m

Controllare se il modulo è caricato:

root@kitploit:~
lsmod | grep tun

🧪 Ricerca PoC

La divulgazione pubblica fornisce un repository PoC dedicato a TUNderflow per una validazione controllata.

Per un flusso di ricerca sicuro:

root@kitploit:~
1. Build vulnerable kernel
2. Boot isolated VM
3. Configure TUN/TAP
4. Reproduce oversized headroom
5. Monitor kernel messages
6. Capture crash/corruption behavior
7. Apply upstream patch
8. Repeat test
9. Compare results

Monitorare il kernel:

root@kitploit:~
sudo dmesg -w

L'obiettivo del laboratorio è dimostrare la differenza tra comportamento vulnerabile e corretto, piuttosto che attaccare sistemi di produzione.


📂 Struttura del repository

root@kitploit:~
CVE-2026-81000-TUNderflow/
│
├── README.md
│
├── exploit/
│   ├── poc.c
│   └── Makefile
│
├── analysis/
│   ├── root-cause.md
│   ├── kernel-path.md
│   ├── integer-underflow.md
│   └── patch-analysis.md
│
├── kernel/
│   ├── vulnerable/
│   └── patched/
│
├── lab/
│   ├── setup.sh
│   ├── cleanup.sh
│   └── topology.md
│
├── screenshots/
│
├── docs/
│   └── research-notes.md
│
└── LICENSE

🔐 Mitigazione

La mitigazione consigliata è installare un kernel contenente la correzione di sicurezza upstream o un backport appropriato della distribuzione.

Per Debian/Kali:

root@kitploit:~
sudo apt update
sudo apt full-upgrade

Poi riavviare:

root@kitploit:~
sudo reboot

Verificare:

root@kitploit:~
uname -r

Per gli ambienti di produzione, verificare il kernel della distribuzione installato rispetto all'advisory di sicurezza del fornitore, piuttosto che affidarsi esclusivamente al numero di versione upstream.

Oracle Linux, ad esempio, ha pubblicato aggiornamenti di sicurezza contenenti la correzione net: tun: bound receive headroom.


📦 Correzioni per kernel stabili

La divulgazione pubblica identifica le seguenti release di kernel stabili come le prime release contenenti le correzioni per le quattro vulnerabilità local-root divulgate, incluso TUNderflow:


🧩 Lezioni di sicurezza

TUNderflow dimostra diversi importanti principi di sicurezza del kernel:

01 — Limitare i valori influenzati dall'esterno

I valori di configurazione di rete non devono mai essere considerati ciecamente affidabili.

02 — Validare l'aritmetica prima dell'allocazione

L'underflow di interi può trasformare un calcolo apparentemente innocuo in una primitiva di sicurezza della memoria.

03 — Separare i metadati dalle assunzioni sulla memoria

Un valore di headroom di un dispositivo di rete deve rimanere coerente con il budget di memoria effettivo dell'skb.

04 — Gli stack di rete complessi aumentano la superficie di attacco

I livelli di rete virtuale possono propagare metadati di pacchetto inattesi attraverso più sottosistemi.

05 — L'analisi delle patch è importante

Studiare la correzione upstream spesso fornisce una comprensione più chiara della vulnerabilità originale rispetto al solo esame del crash.


📚 Riferimenti

  • CVE: CVE-2026-81000
  • Componente: Linux Kernel TUN/TAP
  • File interessato: drivers/net/tun.c
  • Funzione principale: tun_get_user()
  • Correzione upstream: 447c9303942c439a117d9b76ce6d6e2116c38ee7
  • Fix: net: tun: bound receive headroom
  • Divulgazione: Linux kernel security advisory / oss-security

👤 Ricerca

0xBlackash

Cybersecurity Research · Linux Kernel Security · Vulnerability Research · CTF


CVE-2026-81000 · TUNderflow · TUN/TAP · Linux Kernel · LPE


Research • Analyze • Exploit • Harden

Scarica lo strumento
CampoDettagli
CVECVE-2026-81000
Nome in codiceTUNderflow
ComponenteLinux Kernel
SottosistemaTUN/TAP
Codice interessatodrivers/net/tun.c
Funzione principaletun_get_user()
Classe di bugUnderflow di interi / accesso fuori dai limiti
ImpattoCorruzione della memoria del kernel
Impatto potenzialeEscalation locale dei privilegi
CVSS v3.17.8 — Alto
Vettore di attaccoLocale
Privilegi richiestiBassi
Interazione utenteNessuna
StatoCorretto
Proprietà di sicurezzaVulnerabileCorretto
Headroom limitato❌✅
Headroom elevato gestito in sicurezza❌✅
Condizione di underflow prevenuta❌✅
Posizionamento dei dati skb protetto❌✅
Configurazione di rete malformata rifiutata in sicurezza❌✅
BranchRelease corretta
5.105.10.270
5.155.15.221
6.16.1.188
6.66.6.157
6.126.12.109
6.186.18.50
7.27.2.4