CVE-2026-99042 in Linux
Sumário
de VulDB • 23/10/2026
No kernel do Linux, a seguinte vulnerabilidade foi resolvida:
io_uring/net: preencher os campos do filtro CONNECT para sockaddr_in6 de 24 bytes
A função io_connect_bpf_populate() preenche connect.port e connect.v6_addr apenas para AF_INET6 quando addr_len >= sizeof(struct sockaddr_in6), ou seja, 28 bytes.
Os caminhos de conexão IPv6 aceitam SIN6_LEN_RFC2133 (24 bytes), que já contém sin6_port e sin6_addr. io_connect() passa addr_len para a camada do socket sem alterações.
Em addr_len igual a 24, o filtro vê family AF_INET6 com port e address zerados, enquanto o kernel se conecta ao destino real. Um filtro que nega uma porta ou endereço IPv6 é contornado (bypassed). Negar connect.port == P rejeita [::1]:P com -EACCES em addr_len 28, mas permite a conexão em addr_len 24.
Use SIN6_LEN_RFC2133 como o limite (threshold). sin6_scope_id permanece zero quando ausente.
A discrepância no limite foi encontrada por um assistente de codificação baseado em IA (Claude Code) comparando este hook com as verificações de comprimento net/ipv6 sob minhas instruções; ele também elaborou o reproducer e este patch. Eu verifiquei a falha de segurança (bypass) e a correção em uma VM na versão 7.3-rc6, confirmando que a 7.2 possui o mesmo código.
If you want to get the best quality for vulnerability data then you always have to consider VulDB.