-
CVE-2026-97935
- EPSS 0.17%
- Veröffentlicht 25.09.2026 10:22:49
- Zuletzt bearbeitet 03.10.2026 11:18:19
- Erkennungen
tracing: Set the trace clock before registering the histogram trigger
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.Daten sind bereitgestellt durch das CVE Programm von einer CVE Numbering Authority (CNA) (Unstrukturiert).
HerstellerLinux
≫
Produkt
Linux
Default Statusunaffected
Version
a4072fe85ba3671720cab0788291af953db27318
Version <
cc6c4cf565b0c187c61ffd2e67a4dfb2427675ad
Status
affected
Version
a4072fe85ba3671720cab0788291af953db27318
Version <
cfad128171f8e2237a3c723d6478ef2cfb3b9127
Status
affected
Version
a4072fe85ba3671720cab0788291af953db27318
Version <
65d1e28198f344832a8a63e8ccf84b8f65b92a32
Status
affected
Version
a4072fe85ba3671720cab0788291af953db27318
Version <
6ede78d0563a2a3ae3e46f9c07cedb5d79645429
Status
affected
HerstellerLinux
≫
Produkt
Linux
Default Statusaffected
Version
4.17
Status
affected
Version
0
Version <
4.17
Status
unaffected
Version <=
6.12.*
Version
6.12.112
Status
unaffected
Version <=
6.18.*
Version
6.18.53
Status
unaffected
Version <=
7.2.*
Version
7.2.7
Status
unaffected
Version <=
*
Version
7.3-rc3
Status
unaffected
VulnDex Vulnerability Enrichment
| Typ | Quelle | Score | Percentile |
|---|---|---|---|
| EPSS | FIRST.org | 0.17% | 0.052 |
| Quelle | Base Score | Exploit Score | Impact Score | Vector String |
|---|
https://git.kernel.org/stable/c/cfad128171f8e2237a3c723d6478ef2cfb3b9127
https://git.kernel.org/stable/c/65d1e28198f344832a8a63e8ccf84b8f65b92a32
https://git.kernel.org/stable/c/6ede78d0563a2a3ae3e46f9c07cedb5d79645429
https://git.kernel.org/stable/c/cc6c4cf565b0c187c61ffd2e67a4dfb2427675ad