PT-2026-98598 · Linux · Linux
CVE-2026-97934
·
Published
2026-09-25
·
Updated
2026-09-25
None
No severity ratings or metrics are available. When they are, we'll update the corresponding info on the page.
In the Linux kernel, the following vulnerability has been resolved:
tracing: Fix memory corruption from a "STACKTRACE" histogram key
"cpu", "CPU", "stacktrace" and "STACKTRACE" are generic fields, defined
with an offset and a size of zero so that the filter code can match them
by name. parse field() maps them onto their common * equivalents for
backward compatibility, but unlike the common * names it hands the
placeholder back to the caller instead of NULL.
create hist field() takes a non-NULL field as a promise that the record
carries a stacktrace and picks HIST FIELD FN STACK, so the data loc
word is read from offset 0, that is from common type, and its low 16
bits are followed as an offset into the record. What is found there
becomes the length of an unbounded memcpy. Pick an event whose id is
small enough that the offset stays inside its own record and the length
is a kernel text address:
cd /sys/kernel/tracing
echo 'hist:keys=STACKTRACE' > events/ftrace/print/trigger
echo hello > trace marker
Oops: general protection fault, probably for non-canonical address
RIP: 0010:rb next+0x23/0x60
RIP: 0010:memcpy+0xc/0x30
event hist trigger+0x2e7/0x12c0
Kernel panic - not syncing: Fatal exception in interrupt
Leave the field NULL, which is what the comment above the branch says
the code does and what common stacktrace already does. FILTER CPU and
FILTER COMM are left alone, their create hist field() branches never
look at the field.
Found an issue in the description? Have something to add? Feel free to write us 👾
Related Identifiers
Affected Products
Linux