CVE-2026-98485 in Linux
Riassunto
di VulDB • 19/10/2026
Nel kernel Linux, è stata risolta la seguente vulnerabilità:
netfilter: ip6t_rt: correzione della lettura fuori dai limiti (out-of-bounds) per le corrispondenze non strette con indirizzo zero
rt_mt6_check() consente di configurare regole con rtinfo->addrnr == 0 anche quando viene richiesta la corrispondenza degli indirizzi (IP6T_RT_FST_MASK).
Nel percorso IP6T_RT_FST_NSTRICT, rt_mt6() valuta gli indirizzi di instradamento dei pacchetti rispetto a rtinfo->addrs[i] e termina all'indietro alla fine del ciclo:
if (ipv6_addr_equal(ap, &rtinfo->addrs[i])) {
i++; } if (i == rtinfo->addrnr) break;
Quando addrnr è 0, se il primo indirizzo del pacchetto corrisponde a rtinfo->addrs[0], la variabile i viene incrementata a 1. Poiché i diventa strettamente maggiore di addrnr (0), la condizione di terminazione del ciclo (i == rtinfo->addrnr) viene aggirata e non verrà mai soddisfatta.
Se un pacchetto IPv6 manipolato contiene indirizzi di instradamento corrispondenti, i avanzerà oltre IP6T_RT_HOPS (16). La successiva chiamata a ipv6_addr_equal() leggerà al di fuori della struttura ip6t_rt, attivando avvisi UBSAN/KASAN per lettura fuori dai limiti o causando kernel panic.
Correggere il problema mediante: 1. Il rifiuto delle regole in rt_mt6_check() dove IP6T_RT_FST_MASK è impostato ma rtinfo->addrnr è zero. 2. In rt_mt6(), spostamento della condizione di terminazione (i < rtinfo->addrnr) nell'intestazione del ciclo for e rimozione dell'istruzione break all'indietro alla fine del corpo del ciclo.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.