In the Linux kernel, the following vulnerability has been resolved: fprobe: Use guard(rcu_sched_notrace) and check rcu_is_watching()… (CVE-2026-98861)
Description
A use-after-free vulnerability in the Linux kernel's fprobe subsystem has been resolved. The issue arises because unregister_fprobe() and unregister_fprobe_async() rely on standard RCU grace periods that do not track execution when RCU is not watching, such as in idle or nohz_full states. This can lead to use-after-free if an fprobe handler runs during these states after unregistration. The fix involves using guard(rcu_sched_notrace) and checking rcu_is_watching() to ensure handlers exit early when RCU is not watching, and reducing lockdep overhead by replacing rcu_read_lock() with rcu_read_lock_sched_notrace() where appropriate.
AI-Powered Analysis
Machine-generated threat intelligence
Technical Analysis
The vulnerability in the Linux kernel's fprobe mechanism involves unregister_fprobe() and unregister_fprobe_async() relying on standard RCU grace periods (synchronize_rcu() and call_rcu()) to wait for in-flight fprobe handlers to complete before freeing the fprobe. However, if an fprobe handler executes while RCU is not watching (e.g., in idle loop or nohz_full extended quiescent states), the standard RCU does not track these preemption-disabled sections, causing synchronize_rcu() to not wait for those executions. This can result in a use-after-free condition if the fprobe is freed immediately after unregistration. The fix ensures handlers exit early when !rcu_is_watching() and replaces rcu_read_lock() with rcu_read_lock_sched_notrace() to reduce lockdep overhead and avoid recursion, using guard(rcu_sched_notrace) across relevant fprobe entry points to guarantee safe grace period synchronization.
Potential Impact
This vulnerability can lead to a use-after-free condition in the Linux kernel's fprobe subsystem, potentially causing kernel crashes or undefined behavior. The issue occurs when fprobe handlers execute during periods when RCU is not watching, and the system incorrectly assumes handlers have completed before freeing resources. No known exploits in the wild have been reported.
Mitigation Recommendations
A fix for this vulnerability has been implemented in the Linux kernel by introducing guard(rcu_sched_notrace) and checks for rcu_is_watching() in fprobe handlers to ensure safe synchronization and prevent use-after-free. Users should update to the fixed kernel versions once available. Patch status is not yet confirmed — check the vendor advisory for current remediation guidance.
Technical Details
- Gcve Source
- db.gcve.eu
- Osv Id
- GHSA-7564-v46w-3pmr
- Osv Schema Version
- 1.4.0
- Aliases
- ["CVE-2026-98861"]
Threat ID: 6ad520a92cdf04f656993891
Added to database: 10/18/2026, 19:40:25 UTC
Last enriched: 10/18/2026, 22:16:16 UTC
Last updated: 10/18/2026, 22:16:16 UTC
Views: 8
Community Reviews
0 reviewsCrowdsource mitigation strategies, share intel context, and vote on the most helpful responses. Sign in to add your voice and help keep defenders ahead.
Want to contribute mitigation steps or threat intel context? Sign in or create an account to join the community discussion.
Actions
Updates to AI analysis require Pro Console access. Upgrade inside Console → Billing.
Need more coverage?
Upgrade to Pro Console for AI refresh and higher limits.
For incident response and remediation, OffSeq services can help resolve threats faster.
Latest Threats
Check if your credentials are on the dark web
Instant breach scanning across billions of leaked records. Free tier available.