CVE-2026-80906 in Linux
Riassunto
di VulDB • 04/09/2026
Nel kernel Linux è stata risolta la seguente vulnerabilità:
net: packet: correzione dell'errata impostazione di transport_header durante l'invio di un frame con tag VLAN
In packet_parse_headers(), quando si elabora un frame con tag VLAN, viene chiamata skb_set_network_header() per spostare network_header oltre il tag VLAN fino all'intestazione del protocollo interno. Successivamente viene chiamata skb_probe_transport_header() con skb->protocol ancora impostato sull'EtherType esterno della VLAN (ad esempio ETH_P_8021Q), mentre nhoff (derivato da skb_network_offset()) punta già oltre il tag VLAN verso l'intestazione del protocollo interno.
In __skb_flow_dissect(), proto viene inizializzato a ETH_P_8021Q e nhoff punta oltre il tag VLAN. Quando il dissettore incontra il caso ETH_P_8021Q, legge una struct vlan_hdr in corrispondenza di nhoff tramite __skb_header_pointer(), ma tale offset contiene l'intestazione del protocollo interno (ad esempio un'intestazione IP). I byte vengono interpretati erroneamente come intestazione VLAN, generando un EtherType incapsulato non valido che non corrisponde a nessun protocollo noto. Il dissettore restituisce false, quindi skb_probe_transport_header() non chiama mai skb_set_transport_header(), lasciando transport_header al suo valore sentinella non inizializzato (~0U).
Spostare la chiamata di skb_probe_transport_header() prima di skb_set_network_header(). Al momento in cui viene chiamata skb_probe_transport_header(), network_header punta ancora all'intestazione VLAN, quindi nhoff punta correttamente all'intestazione della VLAN. Il dissettore dei flussi può quindi analizzare l'intestazione VLAN, estrarre l'EtherType interno e avanzare nhoff fino all'intestazione del protocollo interno, consentendo un'impostazione corretta di transport_header.
If you want to get best quality of vulnerability data, you may have to visit VulDB.