CVE-2026-97920

CVE-2026-97920

published September 25, 2026

CVSS
—
EPSS
0%
Percentile
10.0
In the wild
Unconfirmed
What it is

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

tracing: Keep the entry count when the histogram stats allocation fails

print_entries() uses n_entries both as the number of sort entries and as

its own return value, so the -ENOMEM it stores when the stats allocation

fails overwrites the count that the cleanup still needs:

n_entries = tracing_map_sort_entries(map, ...);

if (n_entries < 0)

return n_entries;

...

if (!stats) {

n_entries = -ENOMEM;

goto out;

}

...

out:

tracing_map_destroy_sort_entries(sort_entries, n_entries);

tracing_map_destroy_sort_entries() takes an unsigned int and loops up to

it, so -ENOMEM arrives as 4294967284. It walks an array of at most

map->max_elts pointers and calls destroy_sort_entry(), which dereferences

and frees, on whatever lies past the end.

Reading the hist file of a trigger with a .percent value, with that

allocation forced to fail:

BUG: KASAN: vmalloc-out-of-bounds in tracing_map_destroy_sort_entries+0xa0/0xb0

Read of size 8 at addr ffffc90000045000 by task init/1

tracing_map_destroy_sort_entries+0xa0/0xb0

hist_show+0x6f7/0x1df0

seq_read_iter+0x2b8/0x1190

vfs_read+0x176/0xa40

The buggy address belongs to a 4-page vmalloc region starting at

ffffc90000041000 allocated at tracing_map_sort_entries+0x5c/0xd50

A few pages further the fault is fatal. The registers at the oops confirm

the bound: the loop's end pointer less the array start, over the pointer

size, is 4294967284.

Return the error in a separate variable and leave n_entries holding the

count, the way tracing_map_sort_entries() does on its own error path.

The stats block is only entered for a value carrying .percent or .graph,

which __create_val_field() has rejected since v6.3, so this cannot be

reached in mainline as it stands. It becomes reachable again with

"tracing: hist: let values keep the percent and graph modifiers", so it

should be applied first.

The record
Technical detail
CVSS
Not scored
CVSS v4.0
Not supplied
EPSS
0.00205 · 10.0th percentile
Published
2026-09-25T15:17Z
References (6)
EPSS history
Timeline
  • 27 SEP 03:28Z
    EPSS moved — → 0%
    epss
  • 25 SEP 10:22Z
    tracing: Keep the entry count when the histogram stats allocation fails
    cvelistv5