CVE-2026-31429
net: skb: correzione del free cross-cache della testa skb allocata da KFENCE
- Pubblicato
- 20 apr 2026
- Aggiornato
- 11 mag 2026
- Assegnazione CNA
- Linux
- Evidenza osservata
- 25 ago 2026
CVSS primario
nvd · CVSS 3.1
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:HBasso · prossimi 30 giorni
- Percentile
- 17,9%
- Data del modello
- 21 set 2026
L'EPSS è una stima statistica, non una certezza o una misura di impatto. Combinalo con CVSS, stato KEV, esposizione e ambiente.
Riepilogo
Nel kernel Linux è stata risolta la seguente vulnerabilità: net: skb: corretta la free cross-cache della testa skb allocata con KFENCE SKB_SMALL_HEAD_CACHE_SIZE è impostato intenzionalmente a un valore non potenza di 2 (ad es. 704 su x86_64) per evitare collisioni con le dimensioni generiche dei bucket kmalloc. Ciò garantisce che skb_kfree_head() possa utilizzare in modo affidabile skb_end_offset per distinguere le teste skb allocate da skb_small_head_cache rispetto alle cache kmalloc generiche. Tuttavia, quando KFENCE è abilitato, kfence_ksize() restituisce la dimensione di allocazione esatta richiesta invece della dimensione del bucket slab. Se un chiamante (ad es. bpf_test_init) alloca i dati della testa skb tramite kzalloc() e la dimensione richiesta coincide con SKB_SMALL_HEAD_CACHE_SIZE, allora slab_build_skb() -> ksize() restituisce quel valore esatto. Dopo aver sottratto l'overhead di skb_shared_info, skb_end_offset finisce per corrispondere a SKB_SMALL_HEAD_HEADROOM, causando a skb_kfree_head() di liberare erroneamente l'oggetto in skb_small_head_cache invece di riportarlo alla cache kmalloc originale, con conseguente free cross-cache dello slab: kmem_cache_free(skbuff_small_head): Wrong slab cache. Expected skbuff_small_head but got kmalloc-1k Correggere il problema chiamando sempre kfree(head) in skb_kfree_head(). Questo mantiene generico il percorso di free ed evita una classificazione errata specifica dell'allocatore per gli oggetti KFENCE.
Fonti
1POC per CVE-2026-31429 (Linux Kernel >= 6.3 < 6.12.82 Slab Cross-Cache Confusion) - vulnerabilità scoperta da Antonius - w1sdom - bluedragonsec.com
Utilizzo responsabile
Utilizza le informazioni sulla vulnerabilità solo sui sistemi che possiedi o che sei autorizzato a testare. Kitploit si collega ai metadati della ricerca pubblica e non memorizza codici exploit o payload dannosi.