CVE Catalog

CVE-2026-99066

Unknown
Published: Translated: NVD NIST

Summary

In the Linux kernel, init_can_skb() no longer initializes skb headers (mac_header remains 0xFFFF) after the skb_reset_*_header() calls were removed. When such an skb reaches packet_rcv_spkt() (SOCK_PACKET), the push length calculation overflows and triggers skb_under_panic, causing a full kernel panic.

Risk Assessment

A local attacker or process with access to SOCK_PACKET sockets can trigger a kernel panic and deny service to the whole system. This requires privileges to create packet sockets.

Recommendation

Update the Linux kernel to a version containing the fix that restores skb header initialization in init_can_skb().

Other vulnerabilities in Linux kernel

See all
Original NVD description (English source)

In the Linux kernel, the following vulnerability has been resolved: can: dev: init_can_skb(): restore skb header initialization Commit 9f10374bb024 ("can: remove private CAN skb headroom infrastructure") removed the skb_reset_mac_header()/skb_reset_network_header()/ skb_reset_transport_header() calls from init_can_skb(). As a result, RX skbs from alloc_can_skb() and friends again carry mac_header = 0xFFFF. When such an skb reaches packet_rcv_spkt() (SOCK_PACKET), the push length calculation overflows and triggers skb_under_panic -> 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"). packet_rcv_spkt() itself has never been hardened: only packet_rcv() and tpacket_rcv() gained dev_has_header() checks in commit d549699048b4 ("net/packet: fix packet receive on L3 devices without visible hard header").

Vulnerability data from NVD (NIST) · CISA KEV · EPSS