In the Linux kernel, the following vulnerability has been resolved: ipv6: fix fib6 walker UAF on...
🔗 CVE IDs covered (1)
📋 Description
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.
🔗 References (10)
- https://nvd.nist.gov/vuln/detail/CVE-2026-97940
- https://git.kernel.org/stable/c/0eede1689610e9eeaf729ba86fd1321799eb91a0
- https://git.kernel.org/stable/c/19b4ed644d68098cc62ab612727f40d30f43476c
- https://git.kernel.org/stable/c/4553cfafa8d05c4ce20b1d18f79d9bb3b303fc02
- https://git.kernel.org/stable/c/b89b691dd00bf39b9ba39ab9446f8c62f419fa7b
- https://git.kernel.org/stable/c/05b687ee04f816658f4a9cf586f4d2f129157943
- https://git.kernel.org/stable/c/14fdaba201fdff92a3e45994e02bccda409cb19d
- https://git.kernel.org/stable/c/63407cddabc5992b5ac03af165559f4a1968a032
- https://git.kernel.org/stable/c/9a3f73d62c86271614eda4c43315230896a37018
- https://github.com/advisories/GHSA-g66h-hcwj-f29f