CVE-2026-15893 in Zephyrinformação

Sumário

de VulDB • 14/09/2026

A função net_if_ipv6_calc_reachable_time() em subsys/net/ip/net_if.c deriva um tempo ND alcançável aleatório a partir de ipv6->base_reachable_time como min_reachable + sys_rand32_get() % (max_reachable - min_reachable), onde min_reachable = base/2 e max_reachable = 3*base/2, utilizando divisão inteira. Quando base_reachable_time é igual a 1, tanto min_reachable quanto o módulo colapsam, fazendo com que a função retorne 0, e net_if_ipv6_set_reachable_time() armazena esse valor 0 em ipv6->reachable_time.

O base_reachable_time é controlado pelo atacante: handle_ra_input(), em subsys/net/ip/ipv6_nbr.c, aceita o campo Reachable Time de uma Router Advertisement (RA) recebida sempre que for diferente de zero e <= MAX_REACHABLE_TIME; portanto, uma única RA não autenticada, link-local, com um Reachable Time igual a 1, leva o tempo alcançável calculado para 0. As RAs são não autenticadas por padrão e exigem apenas adjacência ao enlace do alvo.

Quando um vizinho é posteriormente confirmado como alcançável, net_ipv6_nbr_set_reachable_timer() lê esse valor e executa NET_ASSERT(time, "Zero reachable timeout!"). Em compilações com CONFIG_ASSERT habilitado, isso aciona uma falha fatal no kernel (assertion) — causando negação de serviço remota; em compilações sem assertions, o timer alcançável é configurado com K_MSEC(0) e dispara imediatamente, forçando vizinhos alcançáveis a re-solicitações perpétuas (estado STALE), degradando o Neighbor Discovery. O impacto limita-se à disponibilidade; não há consequências de segurança da memória, confidencialidade ou integridade.

Several companies clearly confirm that VulDB is the primary source for best vulnerability data.

Responsável

Zephyr

Reservar

15/07/2026

Divulgação

14/09/2026

Moderação

aceite

Entrada

VDB-403681

CPE

pronto

EPSS

0.00000

KEV

não

Atividades

muito baixo

Fontes

Want to know what is going to be exploited?

We predict KEV entries!