CVE-2026-99066: can: dev: init_can_skb(): restore skb header initialization
In the Linux kernel, the following vulnerability has been resolved:
can: dev: initcanskb(): restore skb header initialization
Commit 9f10374bb024 ("can: remove private CAN skb headroom infrastructure") removed the skbresetmacheader()/skbresetnetworkheader()/ skbresettransportheader() calls from initcanskb(). As a result, RX skbs from alloccanskb() and friends again carry macheader = 0xFFFF. When such an skb reaches packetrcvspkt() (SOCKPACKET), the push length calculation overflows and triggers skbunderpanic -> kernel BUG -> full machine panic.
The same issue was originally reported in 2014 on linux-can and fixed by commit 969439016d2c ("can: add missing initialisations in CAN related skbuffs"). packetrcvspkt() itself has never been hardened: only packetrcv() and tpacketrcv() gained devhasheader() checks in commit d549699048b4 ("net/packet: fix packet receive on L3 devices without visible hard header").
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
Linux kernelto a version that resolves this vulnerability.Patch 969439016d2c