CVE-2026-64075: fprobe: Fix unregister_fprobe() to wait for RCU grace period

Published Jul 19, 2026
·
Updated

In the Linux kernel, the following vulnerability has been resolved:

fprobe: Fix unregisterfprobe() to wait for RCU grace period

Commit 4346ba1604093 ("fprobe: Rewrite fprobe on function-graph tracer") changed fprobe to register struct fprobe to an rcu-hlist, but it forgot to wait for RCU GP. Thus there can be use-after-free if the fprobe is released right after unregistering. This can be happened on fprobe event and sample module code.

To fix this issue, add synchronizercu() in unregisterfprobe().

Note that BPF is OK because fprobe is used as a part of bpfkprobemultilink. This unregisters its fprobe in bpfkprobemultilinkrelease() and it is deallocated via bpfkprobemultilinkdealloc(), which is invoked from bpflinkdeferdeallocrcugp() RCU callback.

For BPF, this also introduced unregisterfprobeasync() which does NOT wait for RCU grace priod.

Affected Software

6 affected components
Linux Linux kernel
Linux Linux kernel>=6.14<6.18.34
Linux Linux kernel>=6.19<7.0.11
Linux Linux kernel=7.1-rc1
Linux Linux kernel=7.1-rc2
Linux Linux kernel=7.1-rc3

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Compensating control

    Ensure the kernel fix is applied so that unregister_fprobe() waits for an RCU grace period by adding synchronize_rcu() in unregister_fprobe().

Event History

Jul 19, 2026
CVE Published
via MITRE·03:39 PM
Data Sourced
via MITRE·03:39 PM
Description
Data Sourced
via NVD·04:17 PM
RemedyDescriptionSeverityWeaknessAffected Software

Frequently Asked Questions

1

Which uses are most likely to trigger the issue?

The issue can occur when an fprobe is released immediately after it is unregistered. The description specifically identifies fprobe events and sample module code as affected use cases.

2

Does the BPF fprobe path require the same remediation?

The BPF path is described as safe because its fprobe is unregistered during bpf_kprobe_multi_link_release() and deallocated later through an RCU callback. The change also adds an asynchronous unregister path for BPF that does not wait for the RCU grace period.

3

What level of access does exploitation require?

The CVSS vector rates the attack as local with low privileges required and no user interaction. Successful exploitation can affect confidentiality, integrity, and availability.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203