Katalog CVE

CVE-2026-74561

WysokieCVSS 8.8
Opublikowano: Zaktualizowano: Przetłumaczono: NVD NIST

Prawdopodobieństwo exploitacji (EPSS)

Niskie ryzyko
0.11%

Percentyl 2 - wyżej niż 2% wszystkich znanych CVE

Streszczenie

W jądrze Linuxa w module nexthop występuje podatność polegająca na wyścigu w funkcji nh_rt_cache_flush(), która przegląda listę f6i_list bez trzymania zamka nh->lock. Operacje IPv6 dodawania/usuwania tras modyfikują tę listę pod zamkiem i mogą zwolnić wpisy fib6_info, co prowadzi do użycia po zwolnieniu (use-after-free). Atakujący może wykorzystać ten błąd do eskalacji uprawnień lub wywołania awarii systemu.

Ocena ryzyka

Podatność może umożliwić lokalnemu atakującemu eskalację uprawnień lub wywołanie awarii systemu (DoS) poprzez wykorzystanie wyścigu w operacjach routingu IPv6. Wymaga to jednak dostępu do interfejsu rtnetlink, co zwykle mają uprzywilejowani użytkownicy.

Rekomendacja

Zaleca się natychmiastowe zaktualizowanie jądra Linux do wersji zawierającej poprawkę, która zastępuje niebezpieczne przeglądanie listy funkcją rt_genid_bump_ipv6() dla całej przestrzeni nazw sieci. Należy również ograniczyć dostęp do interfejsu rtnetlink.

Oryginalny opis (angielski, źródło NVD)

In the Linux kernel, the following vulnerability has been resolved: nexthop: avoid unlocked f6i_list walk in nh_rt_cache_flush nh_rt_cache_flush() walks nh->f6i_list during an RTNL-serialized nexthop replace without holding nh->lock, racing the unlocked IPv6 route add/delete that mutate the list under nh->lock and free fib6_info entries (nh_rt_cache_flush() is inlined into rtm_new_nexthop()): BUG: KASAN: slab-use-after-free in nh_rt_cache_flush (net/ipv4/nexthop.c:2243) Read of size 8 at addr ffff888012953e18 by task exploit/146 nh_rt_cache_flush (net/ipv4/nexthop.c:2243) replace_nexthop (net/ipv4/nexthop.c:2610) rtm_new_nexthop (net/ipv4/nexthop.c:3323) rtnetlink_rcv_msg (net/core/rtnetlink.c:7076) Unlike the other f6i_list walks, this one bumps each route's sernum via fib6_update_sernum_upto_root(), which needs tb6_lock; taking nh->lock around it would invert the established tb6_lock -> nh->lock order and deadlock. As the only purpose is to invalidate cached dsts, bump the IPv6 sernum for the whole netns with rt_genid_bump_ipv6() instead, mirroring the rt_cache_flush() already done for IPv4 just above.

Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS