CVE-2026-97935
Received Received - Intake

Use-After-Free in Linux Kernel Histogram Trigger

Vulnerability report for CVE-2026-97935, including description, CVSS score, EPSS score, affected products, exploitability, helpful resources, and attack-flow context.

Publication date: 2026-09-25

Last updated on: 2026-09-25

Assigner: kernel.org

Description

In the Linux kernel, the following vulnerability has been resolved: tracing: Set the trace clock before registering the histogram trigger hist_register_trigger() puts the trigger on the global named_triggers list in cmd_ops->init(), and only then sets the trace clock: if (data->cmd_ops->init) { ret = data->cmd_ops->init(data); if (ret < 0) goto out; } if (hist_data->enable_timestamps) { ret = tracing_set_clock(file->tr, hist_data->attrs->clock); if (ret) { hist_err(tr, HIST_ERR_SET_CLOCK_FAIL, errpos(clock)); goto out; } The clock string is not checked anywhere before that call, so a named trigger using common_timestamp with an unknown clock fails after it has already become findable. event_hist_trigger_parse() then frees it without taking it off the list, and the next lookup by name reads the freed object: ~# cd /sys/kernel/tracing/events/sched/sched_switch ~# echo 'hist:name=foo:keys=common_pid:ts=common_timestamp:clock=bogus' > trigger bash: echo: write error: Invalid argument ~# echo 'hist:name=foo:keys=common_pid' > trigger BUG: KASAN: slab-use-after-free in find_named_trigger+0xac/0xc0 Read of size 8 at addr ffff88800915d760 by task init/1 find_named_trigger+0xac/0xc0 hist_register_trigger+0xc1/0x900 event_hist_trigger_parse+0x3146/0x6af0 event_trigger_write+0xce/0x160 Freed by task 63: kfree+0x154/0x420 trigger_kthread_fn+0xfd/0x160 Set the clock before the trigger is registered, so that nothing which can fail runs after it is published, the way commit 6f86bdeab633 ("tracing: Fix bad hist from corrupting named_triggers list") moved the registration below the rest of the setup. tracing_set_filter_buffering() is reference counted, so the init failure path has to drop the reference that the clock block now takes first.

CVSS Scores

EPSS Scores

Probability:
Percentile:

Meta Information

Published
2026-09-25
Last Modified
2026-09-25
Generated
2026-09-25
AI Q&A
2026-09-25
EPSS Evaluated
N/A
NVD
EUVD

Affected Vendors & Products

Showing 1 associated CPE
Vendor Product Version / Range
linux linux_kernel *

Helpful Resources

Exploitability

CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-UNKNOWN

Attack-Flow Graph

AI Quick Actions

Instant insights powered by AI
Executive Summary

This is a use-after-free vulnerability in the Linux kernel's tracing subsystem. It occurs when a named trigger using an invalid clock is registered. The trigger is added to a global list before the clock is validated, causing a failure after registration. When the trigger is freed due to the error, subsequent lookups attempt to access the freed memory, leading to a slab-use-after-free bug.

Detection Guidance

This vulnerability is specific to the Linux kernel's tracing subsystem. Detection requires checking for use-after-free errors in the kernel logs related to named triggers. Monitor kernel logs for messages like 'KASAN: slab-use-after-free in find_named_trigger' or 'BUG: unable to handle kernel paging request' after attempting to create histogram triggers with invalid clock settings.

Impact Analysis

This vulnerability can cause system instability, crashes, or potential privilege escalation. An attacker with local access could exploit it to trigger kernel memory corruption, leading to denial-of-service conditions or arbitrary code execution in the kernel context.

Mitigation Strategies

Apply the latest Linux kernel security patches that address this issue. Avoid creating histogram triggers with custom clock settings until the patch is applied. If you cannot patch immediately, disable the tracing subsystem or restrict access to /sys/kernel/tracing to prevent exploitation.

Chat Assistant

Ask questions about this CVE
Hi! I’m here to help you understand CVE-2026-97935. Ask me anything about the vulnerability, its impact, or mitigation strategies.
0/70

EPSS Chart