Skip to main content
← All vulnerabilities
CVE-2026-97940

ipv6: fix fib6 walker UAF on seq stop

Published
Last modified
published
Not listed in CISA KEV
Fix
Fixed in 5.10.271, 5.15.222, 6.1.189, 6.6.158, 6.12.111, and 2 more
None on Exploit-DB, Metasploit or GitHub

Summary

In the Linux kernel, the following vulnerability has been resolved: ipv6: fix fib6 walker UAF on seq stop ipv6_route_iter_active() treats a walker in FWS_U at the table root as already unlinked. fib6_del_route() can move a still-linked walker into that same state when the current leaf is the last route at the root, so ipv6_route_native_seq_stop() skips fib6_walker_unlink(). The seq private object can then be freed while it remains on net->ipv6.fib6_walkers. A later route deletion walks the dangling list and uses the freed walker. Use the list head as membership state and reinitialize it when unlinking. Keep the existing w->node check so a never-started iterator with a zeroed private object is not treated as linked. The same stop helper is used by /proc/net/ipv6_route and by the BPF ipv6_route iterator. The BPF show path only widens the race.

Timeline

  1. CVE published
  2. Record last updated

Affected versions

  • Linux Linux

    From 8d2ca1d7b5c3e63b3a8a81ae99015b615c5f2bf7 · fixed in 9a3f73d62c86271614eda4c43315230896a37018; From 8d2ca1d7b5c3e63b3a8a81ae99015b615c5f2bf7 · fixed in 63407cddabc5992b5ac03af165559f4a1968a032; From 8d2ca1d7b5c3e63b3a8a81ae99015b615c5f2bf7 · fixed in 05b687ee04f816658f4a9cf586f4d2f129157943; From 8d2ca1d7b5c3e63b3a8a81ae99015b615c5f2bf7 · fixed in 14fdaba201fdff92a3e45994e02bccda409cb19d; From 8d2ca1d7b5c3e63b3a8a81ae99015b615c5f2bf7 · fixed in 0eede1689610e9eeaf729ba86fd1321799eb91a0; From 8d2ca1d7b5c3e63b3a8a81ae99015b615c5f2bf7 · fixed in b89b691dd00bf39b9ba39ab9446f8c62f419fa7b; From 8d2ca1d7b5c3e63b3a8a81ae99015b615c5f2bf7 · fixed in 4553cfafa8d05c4ce20b1d18f79d9bb3b303fc02; From 8d2ca1d7b5c3e63b3a8a81ae99015b615c5f2bf7 · fixed in 19b4ed644d68098cc62ab612727f40d30f43476c

  • Linux Linux

    3.13

  • KernelLinux

    From 3.13.0 · fixed in 5.10.271; From 5.11.0 · fixed in 5.15.222; From 5.16.0 · fixed in 6.1.189; From 6.2.0 · fixed in 6.6.158; From 6.7.0 · fixed in 6.12.111; From 6.13.0 · fixed in 6.18.53; From 6.19.0 · fixed in 7.2.7

References 8

git.kernel.org