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-52924 — Analisi tecnica di CVE-2026-52924, una vulnerabilità critica use-after-free nella gestione dei cookie obsoleti SCTP del kernel Linux, inclusi causa principale, flusso di attacco, correzione e metodi di rilevamento. | Kitploit
Strumenti/GitHubGitHub/eliot-code/cve-2026-52924
Analisi delle VulnerabilitàExploitPaper e RicercaApprendimento e FormazioneBinary Exploitation
GitHubeliot-code/cve-2026-52924

CVE-2026-52924

Analisi tecnica di CVE-2026-52924, una vulnerabilità critica use-after-free nella gestione dei cookie obsoleti SCTP del kernel Linux, inclusi causa principale, flusso di attacco, correzione e metodi di rilevamento.

Vedi Repository
10h 21m 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-52924: Use-After-Free SCTP nella Gestione dei Cookie Stale

Riepilogo della Vulnerabilità

ID CVE: CVE-2026-52924
Gravità: CRITICA (CVSS 9.8)
Componente: Kernel Linux - SCTP (Stream Control Transmission Protocol)
Tipo: Use-After-Free (CWE-416, CWE-825)
Pubblicata: 2026-06-24
Stato: Corretta

Versioni Interessate

  • Kernel Linux < 5.10.259
  • Kernel Linux < 5.15.210
  • Kernel Linux < 6.1.176
  • Kernel Linux < 6.6.143
  • Kernel Linux < 6.12.94
  • Kernel Linux < 6.18.36
  • Kernel Linux < 7.0.13
  • Kernel Linux < 7.1

Dettagli Tecnici

Causa Principale

La vulnerabilità si verifica nella gestione da parte della macchina a stati SCTP dei pacchetti COOKIE-ECHO stale. Il problema riguarda una pulizia impropria della coda di stream in uscita quando un'associazione viene ripristinata.

Flusso dell'Attacco

  1. Funzionamento Normale: L'associazione passa allo stato COOKIE_ECHOED
  2. Dati Utente in Coda: L'applicazione invia dati, che vengono accodati per la trasmissione
  3. Errore Cookie Stale: Il peer remoto invia un errore Stale Cookie
  4. Rollback Attivato: L'associazione torna da COOKIE_ECHOED → COOKIE_WAIT
  5. Stato Stream Aggiornato: sctp_stream_update() libera la vecchia tabella degli stream, ne installa una nuova
  6. Puntatore Non Valido: stream->out_curr punta ancora alla voce sctp_stream_out liberata
  7. Accesso in Dequeue: Quando lo scheduler tenta di fare dequeue (FCFS, RR, PRIO), accede a out_curr->ext
  8. Use-After-Free: L'accesso alla memoria liberata → crash del kernel tramite rilevamento KASAN

Flusso di Codice Problematico

root@kitploit:~
sctp_sf_do_5_2_6_stale():
  ├─ Ricezione errore Stale Cookie
  ├─ Rollback dello stato dell'associazione
  └─ Chiamata a sctp_stream_update()
       ├─ Libera la vecchia tabella degli stream
       ├─ Installa la nuova tabella degli stream
       └─ BUG: stream->out_curr NON invalidato ❌

Successivamente durante il dequeue:
  sctp_sched_fcfs_dequeue():
    └─ Accesso a stream->out_curr->ext  (MEMORIA LIBERATA) 💥

Esempio di Crash

root@kitploit:~
BUG: KASAN: slab-use-after-free in sctp_sched_fcfs_dequeue+0x13a/0x140
Read of size 8 at addr ff1100004d4d3208 by task mini_poc/9312
CPU: 1 UID: 1001 PID: 9312 Comm: mini_poc Not tainted 7.1.0-rc1-00305-gbd3a4795d574 #5 PREEMPT(full)

Call trace:
  sctp_sched_fcfs_dequeue+0x13a/0x140
  sctp_outq_flush+0x1603/0x33e0
  sctp_do_sm+0x31c9/0x5d30
  sctp_assoc_bh_rcv+0x392/0x6f0
  sctp_inq_push+0x1db/0x270
  sctp_rcv+0x138d/0x3c10

Perché Aggiornare Semplicemente out_curr Non È Sufficiente

Una correzione ingenua potrebbe essere semplicemente azzerare stream->out_curr:

root@kitploit:~
// CORREZIONE INSUFFICIENTE ❌
stream->out_curr = NULL;

Problema: La coda di uscita contiene ancora:

  • Chunk di dati in coda che fanno riferimento al vecchio stato degli stream
  • Voci della coda di ritrasmissione che puntano ai vecchi stream
  • Chunk di controllo raggruppati con metadati dei vecchi stream

Questi riferimenti stale causeranno comunque use-after-free quando vengono acceduti.

La Corretta Correzionee

Soluzione: Svuotare completamente la coda di uscita dell'associazione durante la gestione dei cookie stale.

root@kitploit:~
// CORREZIONE CORRETTA ✓
sctp_outq_free(&asoc->outqueue);

Questo garantisce:

  1. Tutti i dati di trasmissione in sospeso vengono eliminati
  2. Tutte le voci della coda di ritrasmissione vengono liberate
  3. I puntatori memorizzati nella cache dello scheduler (out_curr, ecc.) vengono invalidati
  4. Lo stato degli stream può essere ricostruito in sicurezza durante il riavvio COOKIE_WAIT
  5. Nessun riferimento pendente alle voci degli stream liberate

Posizione dell'Implementazione

File: net/sctp/sm_statefuns.c
Funzione: sctp_sf_do_5_2_6_stale()
Aggiunta: Chiamata a sctp_outq_free(&asoc->outqueue) prima di sctp_stream_update()

root@kitploit:~
enum sctp_disposition sctp_sf_do_5_2_6_stale(...)
{
    // ... codice esistente ...
    
    // Svuota la coda di uscita prima di ricostruire lo stato degli stream
    sctp_outq_free(&asoc->outqueue);
    
    // Ora è sicuro aggiornare lo stream
    sctp_stream_update(&asoc->stream, &asoc->c.h_init_tag);
    
    // ... resto della funzione ...
}

Analisi dell'Impatto

Fattori di Gravità (CVSS 9.8)

  • Vettore di Attacco: Rete (CVSS:3.1/AV:N)
  • Complessità dell'Attacco: Bassa (CVSS:3.1/AC:L)
  • Privilegi Richiesti: Nessuno (CVSS:3.1/PR:N)
  • Interazione dell'Utente: Nessuna (CVSS:3.1/UI:N)
  • Scope: Invariato (CVSS:3.1/S:U)
  • Impatto sulla Riservatezza: Alto (CVSS:3.1/C:H)
  • Impatto sull'Integrità: Alto (CVSS:3.1/I:H)
  • Impatto sulla Disponibilità: Alto (CVSS:3.1/A:H)

Requisiti di Sfruttamento

  1. Accesso di rete al sistema target (porta SCTP aperta)
  2. Capacità di inviare pacchetti SCTP per stabilire una connessione
  3. Invio di un errore Stale Cookie in un momento specifico (stato COOKIE_ECHOED)
  4. Attivazione dell'operazione di dequeue dello scheduler

Scenari di Attacco

  1. Denial of Service: Crash ripetuto del kernel → DoS
  2. Divulgazione di Informazioni: Lettura della memoria del kernel tramite UAF
  3. Escalation dei Privilegi: Potenziale attraverso la manipolazione della memoria
  4. Esecuzione di Codice Remota: Possibile con exploit di corruzione della memoria

Metodi di Rilevamento

Rilevamento KASAN (Runtime)

root@kitploit:~
# Abilita KASAN nella configurazione del kernel
CONFIG_KASAN=y
CONFIG_KASAN_GENERIC=y

# L'output runtime mostra:
BUG: KASAN: slab-use-after-free

Analisi Statica

root@kitploit:~
# Cerca accessi non sicuri a stream->out_curr senza validazione
grep -r "out_curr->ext" net/sctp/
grep -r "out_curr->" net/sctp/sched*.c

Rilevamento di Rete

  • Monitorare i pacchetti di errore SCTP Stale Cookie (Tipo 3, Codice 1)
  • Tracciare i pattern di rollback delle connessioni
  • Avvisare su transizioni rapide COOKIE_ECHOED → COOKIE_WAIT

Strategie di Mitigazione

Mitigazioni Temporanee (Fino alla Patch)

  1. Disabilitare SCTP: Rimuovere il modulo SCTP o bloccare le porte SCTP (132, 132 UDP)

    root@kitploit:~
    echo "install sctp /bin/true" >> /etc/modprobe.d/sctp-disable.conf
    
  2. Regole Firewall: Bloccare il traffico SCTP al confine di rete

    root@kitploit:~
    iptables -A INPUT -p sctp -j DROP
    
  3. Versione del Kernel: Aggiornare alle versioni patchate

    • 5.10.259+
    • 5.15.210+
    • 6.1.176+
    • 6.6.143+
    • 6.12.94+
    • 6.18.36+
    • 7.0.13+
    • 7.1+ (ultima)

Correzionee Permanente

Applicare la patch del kernel che chiama sctp_outq_free() in sctp_sf_do_5_2_6_stale().

Riferimenti

  • CWE-416: Use After Free
  • CWE-825: Expired Pointer Dereference
  • Calcolatore CVSS: https://www.first.org/cvss/calculator/3.1
  • Voce NVD: CVE-2026-52924
  • Sicurezza del Kernel Linux: https://www.kernel.org/doc/html/latest/security/

Raccomandazioni per i Test

Test Unitari

  1. Verificare che sctp_outq_free() invalidi correttamente out_curr
  2. Verificare che tutti i dati in coda vengano liberati durante outq_free
  3. Verificare che la coda di ritrasmissione venga svuotata
  4. Testare il comportamento dello scheduler dopo lo svuotamento della coda di uscita

Test di Integrazione

  1. Flusso normale di recupero da cookie stale
  2. Dati in volo quando viene ricevuto un cookie stale
  3. Più cookie stale rapidi
  4. Diversi scheduler SCTP (FCFS, RR, PRIO)

Test di Fuzzing

  1. Inviare pacchetti SCTP con errori di cookie stale
  2. Variare la tempistica dell'iniezione dell'errore
  3. Variare la quantità di dati in volo
  4. Testare con condizioni di carico elevato

Cronologia

  • 2026-06-24: Vulnerabilità divulgata pubblicamente
  • Stato: Correzionee disponibile
  • Punteggio EPSS: 0,3% (27° percentile)
    • Bassa probabilità di sfruttamento
    • Richiede condizioni di rete specifiche
    • Exploit reali limitati indicizzati

Autore: Elliot Versione del Documento: 1.0
Ultimo Aggiornamento: 2026-09-07
Classificazione: Informazioni Pubbliche

Scarica lo strumento