CVE-2026-98596 in Linuxinformazioni

Riassunto

di VulDB • 19/10/2026

Nel kernel Linux, è stata risolta la seguente vulnerabilità:

ipv6: Correzione della perdita di memoria (leak) dell'oggetto dst per le rotte non in cache.

Le funzioni ip6_route_output_flags(), ip6_rt_put_flags() e ip6_dst_check() rilevano una rotta non in cache tramite l'espressione list_empty(&rt->dst.rt_uncached), che ha sostituito il controllo statico del flag DST_NOCACHE nel commit a4c2fd7f7891 ("net: remove DST_NOCACHE flag").

Quando un dispositivo viene disregistrato, la funzione rt6_uncached_list_flush_dev() scollega le rotte non in cache associate al dispositivo dalla lista rt6_uncached_list.

In precedenza, queste venivano spostate su un'altra lista tramite list_move() (__list_del_entry() + list_add()), e dal commit 98aa546af5e4 ("inet: remove (struct uncached_list)->quarantine") le rotte vengono semplicemente scollegate utilizzando list_del_init().

Se list_del_init() viene eseguita in concorrenza, list_empty() restituisce true; di conseguenza, ip6_route_output_flags() chiama dst_hold_safe() in modo errato e ip6_rt_put_flags() salta la chiamata a ip6_rt_put(), causando una perdita (leak) dell'oggetto dst e, quindi, anche del dispositivo associato tramite rt->from.

La stessa race condition è parzialmente risolta dal commit 9a6f0c4d5796 ("dst: fix races in rt6_uncached_list_del() and rt_del_uncached_list()").

Si verifica invece la lista rt6->dst.rt_uncached_list.

Si noti che IPv4 non presenta lo stesso problema.

Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.

Responsabile

Linux

Prenotare

25/09/2026

Divulgazione

18/10/2026

Moderazione

accettato

EPSS

0.00000

KEV

no

Attività

molto basso

Fonti

Do you need the next level of professionalism?

Upgrade your account now!