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-74469 — Repository di ricerca per CVE-2026-74469 (DiagSpill), un overflow del contatore del trasporto peer SCTP del kernel Linux che causa una scrittura fuori dai limiti, con PoC, analisi della causa principale e dettagli sulla patch. | Kitploit
Strumenti/GitHubGitHub/0xblackash/cve-2026-74469
Escalation di PrivilegiMemory ForensicsAnalisi delle VulnerabilitàExploitPaper e RicercaApprendimento e FormazioneBinary ExploitationLab e Pratica
GitHub0xblackash/cve-2026-74469

CVE-2026-74469

Repository di ricerca per CVE-2026-74469 (DiagSpill), un overflow del contatore del trasporto peer SCTP del kernel Linux che causa una scrittura fuori dai limiti, con PoC, analisi della causa principale e dettagli sulla patch.

7h 48m 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-74469 — DiagSpill

Overflow del contatore dei trasporti peer SCTP nel kernel Linux

Una vulnerabilità SCTP del kernel Linux causata da un overflow del contatore a 16 bit dei trasporti peer, che consente al contatore di passare da 65535 a 0. Durante un dump diagnostico SCTP, il valore soggetto a wraparound può causare una prenotazione insufficiente del payload skb seguita da una scrittura out-of-bounds dei dati dell'indirizzo peer.


⚠️ Disclaimer

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

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


📌 Panoramica della vulnerabilità

L'advisory CVE del kernel Linux descrive il problema come un overflow a 16 bit di transport_count in SCTP, seguito da un'allocazione INET_DIAG_PEERS di dimensioni insufficienti e da una scrittura out-of-bounds durante il dump diagnostico.


🧬 Descrizione della vulnerabilità

Il codice vulnerabile mantiene il numero di trasporti peer univoci in un contatore a 16 bit:

root@kitploit:~
transport_count

Ogni nuovo peer univoco aggiunto incrementa il contatore.

Il limite critico è:

root@kitploit:~
65535

L'aggiunta di un ulteriore trasporto univoco causa:

root@kitploit:~
65535 + 1
     ↓
     0

Il wraparound risultante crea un'incoerenza tra:

root@kitploit:~
transport_count

e:

root@kitploit:~
transport_addr_list

Il sottosistema diagnostico in seguito si fida del contatore soggetto a wraparound nel calcolare la dimensione del buffer di risposta, mentre continua a iterare sull'intera lista degli indirizzi peer.


🔬 Causa principale

La vulnerabilità può essere rappresentata come:

root@kitploit:~
                    SCTP Association
                           │
                           ▼
                 Add unique peers
                           │
                           ▼
                 transport_count
                    uint16_t
                           │
                           ▼
                    65,535 peers
                           │
                           ▼
                 + 1 unique peer
                           │
                           ▼
                    Integer wrap
                           │
                           ▼
                transport_count = 0
                           │
                           ▼
                  SCTP sock_diag
                           │
                           ▼
             Reserve incorrect payload
                           │
                           ▼
          Iterate complete peer list
                           │
                           ▼
             Out-of-bounds skb write

L'advisory upstream afferma specificamente che il 65.536° trasporto porta il contatore a zero tramite wraparound.


🧠 Perché si verifica il bug

Il codice diagnostico si basa di fatto su due viste diverse dello stesso stato.

Lato allocazione

root@kitploit:~
transport_count
       │
       ▼
payload size

Lato copia

root@kitploit:~
transport_addr_list
       │
       ▼
copy every peer address

Dopo il wraparound dell'intero:

root@kitploit:~
transport_count = 0

transport_addr_list =
    [peer 1]
    [peer 2]
    [peer 3]
    ...
    [peer 65536]

L'allocatore riserva quindi spazio in base a:

root@kitploit:~
0 peers

mentre l'operazione di copia può comunque elaborare:

root@kitploit:~
65536 peer addresses

Questa discrepanza produce la violazione della sicurezza della memoria.


💥 Corruzione della memoria

L'advisory del kernel Linux descrive il dump diagnostico risultante come la prenotazione di un payload vuoto e la successiva scrittura di circa 8 MiB di indirizzi peer oltre la coda dell'skb.

Concettualmente:

root@kitploit:~
Expected skb:

┌───────────────────────────────┐
│ INET_DIAG header              │
├───────────────────────────────┤
│ Peer addresses                │
└───────────────────────────────┘
              ▲
              │
          valid end


Actual vulnerable state:

┌───────────────────────────────┐
│ INET_DIAG header              │
└───────────────────────────────┘
              ▲
              │
          skb tail

              ↓
      Peer address writes
              ↓
      Peer address writes
              ↓
      Peer address writes
              ↓
      OUT-OF-BOUNDS WRITE

Red Hat classifica il difetto come CWE-787: Out-of-bounds Write.


🔎 Percorso del codice vulnerabile

Il percorso rilevante può essere riassunto come:

root@kitploit:~
SCTP association
      │
      ▼
sctp_assoc_add_peer()
      │
      ▼
transport_count++
      │
      ▼
16-bit overflow
      │
      ▼
SCTP sock_diag
      │
      ▼
INET_DIAG_PEERS
      │
      ▼
skb payload reservation
      │
      ▼
transport_addr_list iteration
      │
      ▼
Out-of-bounds write

Il file sorgente interessato è:

root@kitploit:~
net/sctp/associola.c

L'annuncio CVE del kernel Linux identifica esplicitamente questo file.


🩹 Correzione upstream

La correzione upstream è:

root@kitploit:~
bd0e9289e2642f6a5c54faad304ce0f41e926d22

Commit:

root@kitploit:~
sctp: prevent peer transport count overflow

La correzione rifiuta un nuovo peer univoco quando:

root@kitploit:~
transport_count >= U16_MAX

È importante notare che il controllo avviene dopo la ricerca del peer esistente.

Ciò preserva la possibilità di recuperare un trasporto già esistente anche quando l'associazione ha raggiunto il limite.


🛡️ Logica della patch

Vulnerabile

root@kitploit:~
New peer
   │
   ▼
transport_count++
   │
   ▼
Possible 16-bit wrap
   │
   ▼
Diagnostic size mismatch
   │
   ▼
OOB write

Corretto

root@kitploit:~
New peer
   │
   ▼
Existing peer?
   │
 ┌─┴──────────┐
 │            │
YES           NO
 │            │
 ▼            ▼
Reuse       Check U16_MAX
transport       │
                ▼
          Reject at limit

La proprietà di sicurezza importante è impedire che il contatore vada mai in wraparound, preservando al contempo la normale semantica di ricerca per un peer esistente.


📊 Vulnerabile vs Corretto


💥 Impatto sulla sicurezza

La corruzione della memoria può potenzialmente causare:

  • Crash del kernel
  • Denial of service
  • Corruzione della memoria del kernel
  • Scrittura out-of-bounds nel kernel
  • Potenziale escalation dei privilegi
  • Potenziale esecuzione di codice nel kernel

La ricerca pubblica rilasciata dopo la divulgazione riporta sfruttamento local-root in condizioni specifiche, mentre il punteggio originale del CNA del kernel Linux utilizza AV:L/AC:H/PR:L/UI:N.

La vulnerabilità è anche descritta come potenzialmente raggiungibile da remoto in circostanze molto specifiche di configurazione SCTP/indirizzi, ma ciò non deve essere considerato equivalente a una vulnerabilità generalmente sfruttabile da remoto.


🧪 Ambiente di ricerca

Topologia isolata consigliata:

root@kitploit:~
┌───────────────────────────────────────────┐
│              Linux VM                    │
│                                           │
│       ┌───────────────────┐               │
│       │   SCTP Association │               │
│       └─────────┬─────────┘               │
│                 │                         │
│                 ▼                         │
│       ┌───────────────────┐               │
│       │ Multiple SCTP      │               │
│       │ Peer Transports    │               │
│       └─────────┬─────────┘               │
│                 │                         │
│                 ▼                         │
│       ┌───────────────────┐               │
│       │   SCTP sock_diag   │               │
│       └─────────┬─────────┘               │
│                 │                         │
│                 ▼                         │
│          INET_DIAG_PEERS                  │
│                                           │
└───────────────────────────────────────────┘

Strumenti utili:

root@kitploit:~
ip sctp
ss
ss -a
ss -A sctp
dmesg -w
gdb
pwndbg
crash

Verifica del supporto SCTP:

root@kitploit:~
lsmod | grep sctp

Verifica della configurazione del kernel:

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

🔎 Verifica del kernel

Verifica del kernel in esecuzione:

root@kitploit:~
uname -r

Verifica della configurazione SCTP:

root@kitploit:~
grep -E 'CONFIG_IP_SCTP|CONFIG_SCTP' \
/boot/config-$(uname -r)

Verifica dei moduli SCTP caricati:

root@kitploit:~
lsmod | grep -i sctp

Ispezione dei socket SCTP:

root@kitploit:~
ss -A sctp

🧪 Flusso di riproduzione

Per la ricerca controllata sul kernel:

root@kitploit:~
01. Build vulnerable kernel
          ↓
02. Boot isolated VM
          ↓
03. Enable SCTP
          ↓
04. Create controlled SCTP association
          ↓
05. Populate unique peer transports
          ↓
06. Reach transport-count boundary
          ↓
07. Trigger SCTP diagnostic dump
          ↓
08. Monitor skb diagnostics
          ↓
09. Capture kernel behavior
          ↓
10. Apply upstream fix
          ↓
11. Repeat test
          ↓
12. Compare vulnerable vs patched

Monitoraggio dell'output del kernel:

root@kitploit:~
sudo dmesg -w

Per il debug:

root@kitploit:~
gdb vmlinux

oppure:

root@kitploit:~
pwndbg vmlinux

📂 Struttura del repository

root@kitploit:~
CVE-2026-74469-DiagSpill/
│
├── README.md
│
├── exploit/
│   ├── poc.c
│   └── Makefile
│
├── analysis/
│   ├── root-cause.md
│   ├── sctp-transport-count.md
│   ├── sock-diag.md
│   ├── skb-overflow.md
│   └── patch-analysis.md
│
├── kernel/
│   ├── vulnerable/
│   └── patched/
│
├── lab/
│   ├── setup.sh
│   ├── cleanup.sh
│   └── topology.md
│
├── screenshots/
│
├── docs/
│   └── research-notes.md
│
└── LICENSE

🛡️ Mitigazione

La mitigazione principale consiste nell'aggiornare a un kernel che contenga la correzione upstream.

Per Debian/Kali:

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

Poi riavviare:

root@kitploit:~
sudo reboot

Verificare:

root@kitploit:~
uname -r

Se SCTP non è necessario, gli amministratori possono anche considerare di disabilitare la funzionalità SCTP interessata in base al proprio ambiente e ai requisiti operativi. La ricerca pubblica elenca specificamente la disabilitazione di SCTP / sctp_diag come mitigazione immediata quando tali componenti non sono utilizzati.


📦 Release del kernel corrette

L'annuncio upstream stable elenca queste release corrette:

Queste versioni provengono dall'annuncio CVE del kernel Linux; le distribuzioni possono effettuare il backport della correzione in pacchetti con numerazione di versione diversa.


🧩 Lezioni di sicurezza

01 — Non permettere mai che i contatori limitati vadano in wraparound silenziosamente

Un contatore a 16 bit ha un massimo rigido:

root@kitploit:~
U16_MAX = 65535

Il codice sensibile alla sicurezza deve gestire esplicitamente tale limite.

02 — I conteggi di allocazione e copia devono coincidere

La dimensione utilizzata per allocare un buffer deve corrispondere al numero di oggetti effettivamente copiati al suo interno.

03 — Le interfacce diagnostiche sono sensibili alla sicurezza

Le API diagnostiche del kernel possono diventare superfici di attacco per la corruzione della memoria quando lo stato interno diventa incoerente.

04 — I bug sugli interi possono diventare bug di sicurezza della memoria

La primitiva originale è un integer overflow, ma l'impatto risultante sulla sicurezza è una scrittura out-of-bounds nel kernel.

05 — Lo stato di networking del kernel è complesso

Le associazioni SCTP possono contenere grandi collezioni di trasporti peer, rendendo i limiti dei contatori e la logica di gestione delle liste critici per la sicurezza.


📚 Riferimenti

  • CVE: CVE-2026-74469
  • Nome in codice: DiagSpill
  • Sottosistema: Linux SCTP
  • File interessato: net/sctp/associola.c
  • Funzione principale: sctp_assoc_add_peer()
  • Correzione: sctp: prevent peer transport count overflow
  • Correzione upstream: bd0e9289e2642f6a5c54faad304ce0f41e926d22
  • CWE: CWE-787 / Out-of-bounds Write
  • Advisory CVE del kernel Linux: CVE-2026-74469 advisory
  • Debian Security Tracker: CVE-2026-74469 Debian tracker
  • Red Hat: CVE-2026-74469 Red Hat advisory

⚡ DiagSpill

CVE-2026-74469

Linux Kernel · SCTP · sock_diag · OOB Write · Kernel Security


Research • Analyze • Reproduce • Harden


0xBlackash

Scarica lo strumento
CampoDettagli
CVECVE-2026-74469
Nome in codiceDiagSpill
ComponenteLinux Kernel
SottosistemaSCTP / sock_diag
File interessatonet/sctp/associola.c
Funzione principalesctp_assoc_add_peer()
Classe di bugInteger overflow / Out-of-bounds write
ImpattoCorruzione della memoria del kernel
Impatto potenzialeEscalation locale dei privilegi
CVSS v3.17.0 — High
Attack VectorLocal
Attack ComplexityHigh
Privileges RequiredLow
User InteractionNone
StatoPatched
Proprietà di sicurezzaVulnerabileCorretto
Limite trasporti a 16 bit applicato❌✅
Wraparound del contatore impedito❌✅
Peer esistenti ancora utilizzabili✅✅
Dimensione payload diagnostico affidabile❌✅
Scrittura OOB su skb impedita❌✅
Corruzione memoria kernel mitigata❌✅
BranchRelease corretta
5.105.10.265
5.155.15.216
6.16.1.183
6.66.6.151
6.126.12.103
6.186.18.44
7.17.1.8
7.27.2-rc6