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-68121 — Repository di ricerca per CVE-2026-68121, una use-after-free nel kernel Linux in pppoe_sendmsg() relativa a PPPoE che consente l'escalation locale dei privilegi, con PoC, analisi della causa radice e configurazione del laboratorio. | Kitploit
Strumenti/GitHubGitHub/0xblackash/cve-2026-68121
Escalation di PrivilegiMemory ForensicsAnalisi delle VulnerabilitàExploitReverse EngineeringPaper e RicercaApprendimento e FormazioneBinary ExploitationLab e Pratica
GitHub0xblackash/cve-2026-68121

CVE-2026-68121

Repository di ricerca per CVE-2026-68121, una use-after-free nel kernel Linux in pppoe_sendmsg() relativa a PPPoE che consente l'escalation locale dei privilegi, con PoC, analisi della causa radice e configurazione del laboratorio.

1661 mese 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
Vedi Repository

⚡ CVE-2026-68121 - PPPoEject

Gemini_Generated_Image_f5uscnf5uscnf5us (1)

Use-After-Free nel PPPoE del kernel Linux → Escalation dei privilegi locale

Una vulnerabilità di corruzione della memoria del kernel Linux nel percorso di trasmissione PPPoE, causata da un puntatore obsoleto a un'intestazione sk_buff dopo che un callback di intestazione del dispositivo rialloca l'intestazione dell'skb.


⚠️ Disclaimer

Questo repository è destinato esclusivamente alla ricerca di sicurezza autorizzata, all'analisi di vulnerabilità del kernel, ad ambienti CTF e a test difensivi.

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


📌 Panoramica della vulnerabilità

CampoDettagli
CVECVE-2026-68121
Nome in codicePPPoEject
ComponenteKernel Linux
SottosistemaPPPoE / Networking
File interessatodrivers/net/ppp/pppoe.c
Funzione principalepppoe_sendmsg()
Classe di bugUse-After-Free
ImpattoCorruzione della memoria del kernel
Impatto potenzialeEscalation dei privilegi locale
CVSS v3.17.8 — Alto
Vettore di attaccoLocale
Complessità di attaccoBassa
Privilegi richiestiBassi
Interazione utenteNessuna
StatoCorretto

Il record CVE identifica la vulnerabilità come un puntatore obsoleto all'intestazione PPPoE che può diventare non valido quando dev_hard_header() rialloca l'intestazione dell'skb.


🧬 Descrizione della vulnerabilità

La vulnerabilità esiste in:

drivers/net/ppp/pppoe.c

all'interno di:

pppoe_sendmsg()

La sequenza vulnerabile è concettualmente:

pppoe_sendmsg()
      │
      ▼
Save PPPoE header pointer
      │
      ▼
dev_hard_header()
      │
      ▼
skb head may be reallocated
      │
      ▼
Old pointer becomes stale
      │
      ▼
PPPoE writes through stale pointer
      │
      ▼
Use-After-Free
      │
      ▼
Kernel memory corruption

Il codice di networking di Linux consente ai callback dell'header del dispositivo di riallocare la testa di sk_buff. Un puntatore alla vecchia testa non può quindi essere riutilizzato in modo sicuro dopo che dev_hard_header() è ritornato.


🔬 Causa principale

Il problema centrale è una violazione del ciclo di vita.

pppoe_sendmsg() ottiene un puntatore all'header PPPoE prima di invocare:

dev_hard_header()

Tuttavia, quella callback può causare lo spostamento della testa dello skb.

Concettualmente:

Before callback:

skb
┌──────────────────────────────┐
│ Ethernet │ PPPoE │ Payload   │
└──────────┴───────┴───────────┘
           ▲
           │
       stale pointer


After skb expansion:

old skb head ──X──► freed

new skb head
┌────────────────────────────────────┐
│ Ethernet │ PPPoE │ Payload         │
└──────────┴───────┴─────────────────┘
           ▲
           │
      valid location

Il vecchio puntatore fa ancora riferimento all'allocazione liberata.

Quando PPPoE successivamente scrive l'header attraverso quel puntatore, il kernel esegue una scrittura use-after-free.


🧠 Condizione di attivazione

Il trigger documentato coinvolge una race attorno a copy_from_user() e modifiche alle operazioni sull'header di un dispositivo team.

Una sequenza descritta è:

PPPoE sendmsg()
      │
      ▼
copy_from_user() blocks
      │
      │
      ├───────────────┐
      │               │
      ▼               ▼
Team device changes   First non-Ethernet
header operations     port is added
                      │
                      ▼
               Delegated GRE callback
                      │
                      ▼
               skb head expansion
      │               │
      └───────────────┘
              │
              ▼
       stale PPPoE pointer
              │
              ▼
       use-after-free write

Il record CVE rileva che ciò può verificarsi quando la prima porta non Ethernet viene aggiunta a un dispositivo team vuoto e il callback dell'header GRE delegato espande l'head dello skb.


💥 Impatto sulla sicurezza

La vulnerabilità può causare:

  • Use-after-free nell'heap del kernel
  • Corruzione della memoria del kernel
  • Crash del kernel / denial of service
  • Potenziale divulgazione della memoria del kernel
  • Potenziale modifica arbitraria della memoria del kernel
  • Potenziale esecuzione di codice nel kernel
  • Escalation dei privilegi locale

Il vettore CVSS pubblicato della CVE è:

CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H

con un punteggio base di 7.8 Alto.


🔎 Superficie di attacco tecnica

I componenti rilevanti sono:

PF_PPPOX / PPPoE socket
          │
          ▼
    pppoe_sendmsg()
          │
          ▼
     sk_buff (skb)
          │
          ▼
  dev_hard_header()
          │
          ▼
 Network device header callback
          │
          ▼
 Potential skb head expansion
          │
          ▼
 PPPoE stale header pointer
          │
          ▼
     UAF write

Il codice vulnerabile non è quindi semplicemente un parser generico di pacchetti PPPoE; la condizione critica è l'interazione tra la trasmissione del socket PPPoE e la riallocazione dinamica della testa dell'skb.


🩹 Correzione upstream

La correzione upstream è intitolata:

pppoe: reload header pointer after dev_hard_header()

La correzione ricarica l'intestazione PPPoE tramite l'offset dell'intestazione di rete dello skb dopo la creazione dell'intestazione del dispositivo.

La proprietà importante è:

Before:

header pointer
      │
      ▼
dev_hard_header()
      │
      ▼
skb moves
      │
      ▼
pointer = stale ❌


After:

dev_hard_header()
      │
      ▼
skb may move
      │
      ▼
reload header using skb offset
      │
      ▼
pointer = valid ✅

pskb_expand_head() aggiorna l'offset rilevante dello skb quando la testa dello skb viene riallocata, rendendo sicura la ricerca basata sull'offset dopo la riallocazione.


📊 Vulnerabile vs Corretto

Scarica lo strumento