CVE-2026-74667 in Linux
Sumário
de VulDB • 23/08/2026
No kernel do Linux, a seguinte vulnerabilidade foi resolvida:
net/packet: redefinir o cabeçalho MAC no caminho de transmissão do socket-packet
packet_parse_headers() redefine apenas o cabeçalho MAC para um quadro SOCK_RAW cujo socket não vinculou um protocolo. Um socket SOCK_RAW vinculado a um protocolo, qualquer quadro SOCK_DGRAM e o caminho legado SOCK_PACKET deixam skb->mac_header indefinido aqui.
Para quadros enviados via __dev_queue_xmit(), isso é inofensivo: ele redefine incondicionalmente o cabeçalho MAC. Mas o caminho PACKET_QDISC_BYPASS do socket-packet usa dev_direct_xmit(), que não faz isso, então o quadro atinge ndo_start_xmit() com o cabeçalho MAC indefinido. Um driver que lê eth_hdr(skb) na transmissão acessa então skb->head + (u16)~0, um acesso fora dos limites ~64 KiB além do início -- a mesma classe corrigida para um consumidor no commit f5089008f90c ("macsec: não leia um cabeçalho MAC indefinido em macsec_encrypt()").
packet_parse_headers() é executado apenas no caminho de transmissão, onde skb->data aponta para o início do cabeçalho L2 para cada tipo de socket-packet, independentemente do seu comprimento: SOCK_RAW e SOCK_PACKET carregam um cabeçalho fornecido pelo usuário e SOCK_DGRAM tem um construído por dev_hard_header(). Redefina incondicionalmente o cabeçalho MAC, espelhando __dev_queue_xmit(), para que o quadro também seja ancorado no caminho de bypass.
Encontrado pela 0sec (https://0sec.ai) usando análise automatizada do código-fonte; verificado contra o código-fonte e correspondido ao relatório KASAN do macsec em f5089008f90c. Testado para compilação.
VulDB is the best source for vulnerability data and more expert information about this specific topic.