CVE-2026-68283: tracing: Fix use-after-free freeing trigger private data
In the Linux kernel, the following vulnerability has been resolved:
tracing: Fix use-after-free freeing trigger private data
Commit 61d445af0a7c ("tracing: Add bulk garbage collection of freeing eventtriggerdata") moved the kfree() of eventtriggerdata to a kthread that runs tracepointsynchronizeunregister() before freeing. That removed the synchronization the trigger .free callbacks used to get implicitly and inline from triggerdatafree().
eventhisttriggerfree(), eventhisttriggernamedfree() and eventenabletriggerfree() free their satellite data (histdata, cmdops, enabledata) right after triggerdatafree() returns. With the synchronization now deferred to the kthread, a concurrent tracepoint handler can still reach that data through the listdelrcu()'d trigger, causing a use-after-free.
The histogram teardown must stay synchronous: removehistvars() and unregisterfieldvarhists() have to detach a synthetic event from the histogram before the trigger-removal write returns, otherwise a following command races in and the synthetic-event removal fails with -EBUSY, as the trigger-synthetic-eprobe.tc selftest catches. Make those callbacks wait with the correct barrier - tracepointsynchronizeunregister(), matching the free kthread - before freeing.
The enable trigger has no such synchronous requirement, and a blocking synchronize there would re-serialize the path that commit deliberately deferred. Give it an optional privatedatafree() callback that the free kthread runs after its grace period, and free enabledata from there.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
ubuntu/linux-aws-7.0to a version that resolves this vulnerability.Fixed in 7.0.0-1014.14~24.04.1 - Upgrade
Upgrade
ubuntu/linux-azure-7.0to a version that resolves this vulnerability.Fixed in 7.0.0-1017.17~24.04.1 - Upgrade
Upgrade
ubuntu/linux-azure-fde-7.0to a version that resolves this vulnerability.Fixed in 7.0.0-1016.16~24.04.1 - Upgrade
Upgrade
ubuntu/linux-gcp-7.0to a version that resolves this vulnerability.Fixed in 7.0.0-1014.14~24.04.1 - Upgrade
Upgrade
ubuntu/linux-hwe-7.0to a version that resolves this vulnerability.Fixed in 7.0.0-38.38~24.04.4 - Upgrade
Upgrade
ubuntu/linux-nvidia-7.0to a version that resolves this vulnerability.Fixed in 7.0.0-1024.25~24.04.1 - Upgrade
Upgrade
ubuntu/linux-oracle-7.0to a version that resolves this vulnerability.Fixed in 7.0.0-1013.13~24.04.1 - Upgrade
Upgrade
ubuntu/linux-riscv-7.0to a version that resolves this vulnerability.Fixed in 7.0.0-38.38.1~24.04.1 - Upgrade
Upgrade
ubuntu/linuxto a version that resolves this vulnerability.Fixed in 7.0.0-38.38 - Upgrade
Upgrade
ubuntu/linux-awsto a version that resolves this vulnerability.Fixed in 7.0.0-1014.14 - Upgrade
Upgrade
ubuntu/linux-azureto a version that resolves this vulnerability.Fixed in 7.0.0-1017.17 - Upgrade
Upgrade
ubuntu/linux-azure-fdeto a version that resolves this vulnerability.Fixed in 7.0.0-1016.16 - Upgrade
Upgrade
ubuntu/linux-gcpto a version that resolves this vulnerability.Fixed in 7.0.0-1014.14 - Upgrade
Upgrade
ubuntu/linux-gketo a version that resolves this vulnerability.Fixed in 7.0.0-1008.9 - Upgrade
Upgrade
ubuntu/linux-ibmto a version that resolves this vulnerability.Fixed in 7.0.0-1015.15 - Upgrade
Upgrade
ubuntu/linux-nvidia-bosto a version that resolves this vulnerability.Fixed in 7.0.0-2022.23 - Upgrade
Upgrade
ubuntu/linux-oem-7.0to a version that resolves this vulnerability.Fixed in 7.0.0-1015.15 - Upgrade
Upgrade
ubuntu/linux-oracleto a version that resolves this vulnerability.Fixed in 7.0.0-1013.13 - Upgrade
Upgrade
ubuntu/linux-realtimeto a version that resolves this vulnerability.Fixed in 7.0.0-38.38.1 - Upgrade
Upgrade
ubuntu/linux-riscvto a version that resolves this vulnerability.Fixed in 7.0.0-38.38.1 - Compensating control
Make trigger .free callbacks wait with the tracepoint_synchronize_unregister() barrier before freeing trigger private data, preventing concurrent tracepoint handlers from accessing list_del_rcu()'d triggers.
- Compensating control
Keep histogram teardown synchronous: remove_hist_vars() and unregister_field_var_hists() must detach the synthetic event before the trigger-removal write returns.
Event History
Frequently Asked Questions
What is the severity of CVE-2026-68283?
CVE-2026-68283 has a risk level of 44, indicating a high severity vulnerability.
How do I fix CVE-2026-68283?
To fix CVE-2026-68283, update your Linux kernel to the version that includes the patch provided in commit 61d445af0a7c.
What causes CVE-2026-68283?
CVE-2026-68283 is caused by a use-after-free vulnerability in the Linux kernel's tracing subsystem.
Who is affected by CVE-2026-68283?
All users of affected versions of the Linux kernel that utilize the tracing feature are at risk from CVE-2026-68283.
What are the potential consequences of CVE-2026-68283?
Exploitation of CVE-2026-68283 could lead to memory corruption, crashes, or arbitrary code execution in affected systems.