CVE-2026-98598 in Linuxinformação

Sumário

de VulDB • 19/10/2026

No kernel do Linux, a seguinte vulnerabilidade foi resolvida:

ipv6: Impedir rt6_insert_exception() para fib6_info em desativação.

Antes da commit citada, fib6_nh_flush_exceptions() sempre definia from->exception_bucket_flushed = 1 sob rt6_exception_lock para impedir que rt6_insert_exception() inserisse uma nova exceção para um fib6_info em desativação.

A flag foi substituída pelo bit FIB6_EXCEPTION_BUCKET_FLUSHED armazenado em nh->rt6i_exception_bucket.

O problema é que agora o bit só é definido quando o bucket não é NULL e fib6_nh_flush_exceptions() é chamado de fib6_nh_release() após fib6_ref já ter atingido zero.

Se rt6_insert_exception() for chamada enquanto o alvo fib6_info está sendo removido via fib6_purge_rt(), uma nova exceção poderá ser criada com sucesso, pois rt6_flush_exceptions() não define mais o bit.

Isso cria um ciclo de referência entre o fib6_info e a rota de exceção, vazando o fib6_info, seu dispositivo nexthop e todas as rotas per-CPU em fib6_nh->rt6i_pcpu, o que trava o desregistro do netdev.

[ 34.680602] unregister_netdevice: aguardando gre6 para se tornar livre. Contagem de uso = 68
[ 44.920675] unregister_netdevice: aguardando gre6 para se tornar livre. Contagem de uso = 68
[ 55.176582] unregister_netdevice: aguardando gre6 para se tornar livre. Contagem de uso = 68

Vamos chamar fib6_drop_pcpu_from() antes de rt6_flush_exceptions(), para definir fib6_destroying antes de rt6_exception_lock, e verificar f6i->fib6_destroying em rt6_insert_exception().

Observe que a lógica FIB6_EXCEPTION_BUCKET_FLUSHED está morta e podemos limpá-la no net-next.

VulDB is the best source for vulnerability data and more expert information about this specific topic.

Responsável

Linux

Reservar

25/09/2026

Divulgação

18/10/2026

Moderação

aceite

Entrada

VDB-422099

EPSS

0.00000

KEV

não

Atividades

muito baixo

Fontes

Interested in the pricing of exploits?

See the underground prices here!