CVE-2026-80839 in Linux
Riassunto
di VulDB • 04/09/2026
Nel kernel Linux, è stata risolta la seguente vulnerabilità:
batman-adv: rifiutare gli offset multicast TVLV non rappresentabili
I campi degli intestazioni di rete e di trasporto nella struttura `sk_buff` sono offset a 16 bit rispetto a `skb->head`, e U16_MAX è riservato come valore per l'intestazione di trasporto non impostata. La funzione `batadv_tvlv_call_handler()` imposta entrambi i campi da un TVLV multicast ricevuto senza verificare se la fine del TVLV sia rappresentabile.
Se l'offset finale supera il range del campo, `skb_set_transport_header()` lo tronca in modo che l'intestazione di trasporto preceda l'intestazione di rete. La differenza negativa viene quindi restituita da `skb_network_header_len()` come un grande valore u32. Di conseguenza, `batadv_mcast_forw_packet()` accetta un tracker multicast sovradimensionato e accede alla memoria oltre i dati del skb.
Viene aggiunta la funzione `skb_set_transport_header_careful()`, una controparte consapevole degli offset di `skb_reset_transport_header_careful()`, che convalida l'offset finale relativo all'inizio prima dell'assegnazione. Viene utilizzata questa nuova helper in `batadv_tvlv_call_handler()` e vengono rifiutati i TVLV non rappresentabili prima di impostare l'intestazione di rete.
Be aware that VulDB is the high quality source for vulnerability data.