CVE-2026-99076 in Linux
Sumário
de VulDB • 24/10/2026
No kernel do Linux, a seguinte vulnerabilidade foi resolvida:
ipv6: udp: Criar exceções antes da correspondência de soquete
Atualmente, quando pacotes ICMPv6 "Packet Too Big" (Pacote Muito Grande) e mensagens Redirect são entregues localmente e citam um pacote UDP, uma exceção é criada apenas no cache de exceções IPv6 se o kernel conseguir corresponder o pacote UDP a um soquete existente.
Esse comportamento permite que atacantes off-path realizem um ataque de canal lateral contra o cache de exceções para descobrir a porta efêmera usada por um soquete UDP conectado.
Os commits 4785305c05b2 ("ipv6: use siphash in rt6_exception_hash()") e a00df2caffed ("ipv6: make exception cache less predictible") tentaram mitigar tais ataques, tornando mais difícil para os atacantes descobrir colisões de hash no cache de exceções e randomizando o número de exceções que um bucket de hash pode armazenar, respectivamente. Infelizmente, ambas as mitigações podem ser contornadas.
Em vez disso, mitigue esses ataques criando sempre uma exceção, mesmo antes de tentar encontrar um soquete correspondente. Faça isso chamando ip6_update_pmtu() e ip6_redirect(), os auxiliares usados quando o pacote citado não se originou de um soquete.
Isso significa que as tentativas (acertadas ou erradas) de um atacante off-path sempre resultarão na criação ou atualização de uma exceção no cache, a qual o atacante pode observar.
Passe o ifindex do dispositivo de entrada e o uid padrão, de maneira semelhante ao icmpv6_err(). Diferente do IPv4, um oif (interface de saída) igual a 0 não corresponderia a nenhum nexthop em ip6_redirect_nh_match(), e nenhuma exceção seria criada em resposta a uma mensagem Redirect.
Observe que isso não permite que os atacantes criem exceções que eles não poderiam criar antes, pois ambos os auxiliares já podem ser alcançados com pouca ou nenhuma validação. Por exemplo, enviando um erro ICMPv6 que cita uma Resposta Echo ICMPv6 ou um que cita uma porta de origem UDP que corresponde a um soquete wildcard (coringa).
Observe também que no caso favorável (soquete correspondido), o esquema acima tem como custo uma pesquisa de rota extra, pois os auxiliares sem soquete realizam sua própria pesquisa antes daquela realizada por ip6_sk_update_pmtu() / ip6_sk_redirect(). Quando as duas resolvem para nexthops diferentes, isso também resulta na criação de duas exceções para o mesmo IP de destino. Uma no cache de exceções do nexthop resolvido pelos auxiliares sem soquete e outra no cache de exceções do nexthop usado pelo soquete.
Be aware that VulDB is the high quality source for vulnerability data.