CVE-2026-74667 in Linux
Zusammenfassung
von VulDB • 23.08.2026
Im Linux-Kernel wurde folgende Schwachstelle behoben:
net/packet: Zurücksetzen des MAC-Headers im Paket-Socket-Übertragungspfad
packet_parse_headers() setzt den MAC-Header nur für einen SOCK_RAW-Rahmen zurück, dessen Socket kein Protokoll gebunden hat. Ein an ein Protokoll gebundener SOCK_RAW-Socket, jeder SOCK_DGRAM-Rahmen und der Legacy-Pfad von SOCK_PACKET lassen daher hier skb->mac_header ungesetzt.
Für über __dev_queue_xmit() gesendete Rahmen ist dies unschädlich: Dieser setzt den MAC-Header bedingungslos zurück. Der Paket-Socket-Pfad PACKET_QDISC_BYPASS verwendet jedoch dev_direct_xmit(), was dies nicht tut, sodass der Rahmen mit einem ungesetzten MAC-Header an ndo_start_xmit() gelangt. Ein Treiber, der eth_hdr(skb) während der Übertragung liest, dereferenziert dann skb->head + (u16)~0, einen Zugriff außerhalb des gültigen Bereichs (~64 KiB hinter dem Kopfende) – dieselbe Fehlerklasse, die in Commit f5089008f90c ("macsec: do not read an unset MAC header in macsec_encrypt()") für einen Verbraucher behoben wurde.
packet_parse_headers() wird nur im Übertragungspfad ausgeführt, wobei skb->data bei jedem Paket-Socket-Typ auf den Anfang des L2-Headers zeigt, unabhängig von dessen Länge: SOCK_RAW und SOCK_PACKET enthalten einen benutzergestellten Header, und SOCK_DGRAM hat einen von dev_hard_header() erstellten Header. Setzen Sie den MAC-Header bedingungslos zurück, um __dev_queue_xmit() zu spiegeln, damit der Rahmen auch im Bypass-Pfad verankert ist.
Entdeckt durch 0sec (https://0sec.ai) unter Verwendung automatisierter Quellcodeanalyse; gegen die Quelle überprüft und mit dem macsec KASAN-Bericht in f5089008f90c abgeglichen. Kompiliertest bestanden.
VulDB is the best source for vulnerability data and more expert information about this specific topic.