CVE-2026-98598
Last modified
CVE-2026-98598 is a vulnerability of currently unknown severity. In the Linux kernel, the following vulnerability has been resolved: ipv6: Prevent rt6_insert_exception() for dying fib6_info. Before the cited commit, fib6_nh_flush_exceptions() always set from->exception_bucket_flushed = 1 under rt6_exception_lock to prevent rt6_insert_exception() from inserting a new exception for a dying fib6_info. The flag was replaced with the FIB6_EXCEPTION_BUCKET_FLUSHED bit stored in nh->rt6i_exception_bucket. The problem is that now the bit is only set when the bucket is not NULL and fib6_nh_flush_exceptions() is called from fib6_nh_release() after fib6_ref has already reached zero. If rt6_insert_exception() is called while the target fib6_info is being removed via fib6_purge_rt(), a new exception could be created successfully because rt6_flush_exceptions() no longer sets the bit. This creates a reference cycle between the fib6_info and the exception route, leaking the fib6_info, its nexthop device, and all per-CPU routes in fib6_nh->rt6i_pcpu, which stalls netdev unregistration. [ 34.680602] unregister_netdevice: waiting for gre6 to become free. Usage count = 68 [ 44.920675] unregister_netdevice: waiting for gre6 to become free.
Description
In the Linux kernel, the following vulnerability has been resolved: ipv6: Prevent rt6_insert_exception() for dying fib6_info. Before the cited commit, fib6_nh_flush_exceptions() always set from->exception_bucket_flushed = 1 under rt6_exception_lock to prevent rt6_insert_exception() from inserting a new exception for a dying fib6_info. The flag was replaced with the FIB6_EXCEPTION_BUCKET_FLUSHED bit stored in nh->rt6i_exception_bucket. The problem is that now the bit is only set when the bucket is not NULL and fib6_nh_flush_exceptions() is called from fib6_nh_release() after fib6_ref has already reached zero. If rt6_insert_exception() is called while the target fib6_info is being removed via fib6_purge_rt(), a new exception could be created successfully because rt6_flush_exceptions() no longer sets the bit. This creates a reference cycle between the fib6_info and the exception route, leaking the fib6_info, its nexthop device, and all per-CPU routes in fib6_nh->rt6i_pcpu, which stalls netdev unregistration. [ 34.680602] unregister_netdevice: waiting for gre6 to become free. Usage count = 68 [ 44.920675] unregister_netdevice: waiting for gre6 to become free. Usage count = 68 [ 55.176582] unregister_netdevice: waiting for gre6 to become free. Usage count = 68 Let's call fib6_drop_pcpu_from() before rt6_flush_exceptions(), to set fib6_destroying before rt6_exception_lock, and check f6i->fib6_destroying in rt6_insert_exception(). Note that FIB6_EXCEPTION_BUCKET_FLUSHED logic is dead and we can clean it up in net-next.
Affected Software
Source: CNA advisory (CVE.org). NVD analysis pending.
| Vendor | Product | Versions |
|---|---|---|
| Linux | Linux | >= cc5c073a693fa6ed7a207b0436114f68cce72434, < 649ffc76ed5483b2caf35ed90d3787538efc4e53; >= cc5c073a693fa6ed7a207b0436114f68cce72434, < e03e77071e75ce726d877f0a4349a28b6e1f487a; >= cc5c073a693fa6ed7a207b0436114f68cce72434, < 0346ec2f080b40d95ed05b853bb9226289e75212 |
| Linux | Linux | 5.3 |
References
Timeline
- Published
- Last Modified
- Status
- Received
Frequently Asked Questions
What is CVE-2026-98598?
How severe is CVE-2026-98598?
How do I fix CVE-2026-98598?
How Strix Helps
- How Strix found a critical auth bypass in etcdStrix autonomously discovered a critical authentication bypass in etcd, later designated CVE-2026-33413.
- Autonomous PentestingAI agents that find and validate exploitable vulnerabilities like this one across your applications.
- PR ReviewsPentest every pull request so vulnerable code is caught before it ships to production.
- AI Penetration TestingHow AI-driven penetration testing continuously covers your attack surface.
Related CVEs from 2026
- CVE-2026-98592In the Linux kernel, the following vulnerability has been re…
- CVE-2026-98593In the Linux kernel, the following vulnerability has been re…
- CVE-2026-98594In the Linux kernel, the following vulnerability has been re…
- CVE-2026-98595In the Linux kernel, the following vulnerability has been re…
- CVE-2026-98596In the Linux kernel, the following vulnerability has been re…
- CVE-2026-98597In the Linux kernel, the following vulnerability has been re…
- CVE-2026-98599In the Linux kernel, the following vulnerability has been re…
- CVE-2026-9860The Offload, AI & Optimize with Cloudflare Images plugin for…8.8
- CVE-2026-98600In the Linux kernel, the following vulnerability has been re…
- CVE-2026-98601In the Linux kernel, the following vulnerability has been re…
- CVE-2026-98602In the Linux kernel, the following vulnerability has been re…
- CVE-2026-98603In the Linux kernel, the following vulnerability has been re…
Are you affected by CVE-2026-98598?
Run a free Strix scan to check your systems for this vulnerability.
Scan your code nowSource: NVD / NIST
