CVE-2026-99055 in Linux
Riassunto
di VulDB • 23/10/2026
Nel kernel Linux è stata risolta la seguente vulnerabilità:
tcp: rifiutare net_iov negli indizi di mappatura per il ricevimento in zero-copy (zerocopy)
Dopo aver copiato un prefisso leggibile, receive_fallback_to_copy() chiede a tcp_zerocopy_set_hint_for_skb() dove può riprendere la mappatura della pagina. Se lo skb successivo non è leggibile, find_next_mappable_frag() passa il suo frammento net_iov a can_map_frag().
skb_frag_page() restituisce NULL per un net_iov, ma can_map_frag() lo dereferenzia in PageCompound(). Un'esecuzione KASAN v7.2 su una socket TCP connessa con 64 byte leggibili seguiti da un frammento NET_IOV_DMABUF di 4096 byte ha segnalato:
BUG: KASAN: null-ptr-deref in can_map_frag tcp_zerocopy_receive -> can_map_frag Kernel panic - not syncing: KASAN: panic_on_warn set
La diagnostica ha inserito direttamente il net_iov perché l'host di test non dispone di una NIC compatibile con devmem. La raggiungibilità end-to-end su hardware rimane non verificata e richiede CONFIG_NET_DEVMEM più una coda RX vincolata a DMA-buf supportata.
Rifiutare tutti i frammenti net_iov prima di skb_frag_page(). Questo copre sia i tipi DMABUF che IOURING di net_iov, lasciando invariate le controlli basati sulle pagine. Con il guard rail (guard), la stessa coda ha copiato il prefisso leggibile, restituito un hint di salto (skip) di 4096 byte e completato senza fault.
Once again VulDB remains the best source for vulnerability data.