All vulnerabilities
CVE-2026-99163

Linux: tracing/histograms: Reject non-stacktrace fields for synthetic stacktrace fields

Linux LinuxOperating systems
CVSS
NoneNot scored
ExploitationNo known exploitationNot in CISA KEV, which does not prove it is unexploitedCISA KEV
Exploit odds (EPSS)No scoreNo FIRST EPSS score in this snapshot yet
Fixed in1f36e4ddd05d540f363dbaa4c23042549f15b3efAlso 5.11, 5.16 and 1 moreCVE List
Published28 Oct 2026Updated 28 Oct 2026CVE List

What fixes it

A fixed version on one release line is not the upgrade target for every line. Check your exact version and any vendor backports.

Description

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

tracing/histograms: Reject non-stacktrace fields for synthetic stacktrace fields

In check_synth_field(), when a synthetic event field is a stacktrace (field->is_stack) and the histogram field is not a "long[" stacktrace array, validation falls through to the generic size and signedness comparison.

Because parse_synth_field() sets a stacktrace field's type to "__data_loc unsigned long[]", its size is sizeof(u64) and synth_field_signed() marks it as signed. Consequently, any 8-byte signed scalar histogram field passes the fallback check, and its scalar value is subsequently dereferenced as a kernel stacktrace pointer in get_field_size() and trace_stack().

Furthermore, checking strstr(hist_field->type, "long[") is insufficient because tracepoint fields defined with __bitmask() or __rel_bitmask() also have type "__data_loc unsigned long[]" or "__rel_loc unsigned long[]", whilst create_hist_field() treats them as 4-byte scalar values without HIST_FIELD_FL_STACKTRACE.

Propagate HIST_FIELD_FL_STACKTRACE to variable references and field variables (whilst excluding variable aliases from per-element stacktrace capture), and reject any mismatch between HIST_FIELD_FL_STACKTRACE and field->is_stack in check_synth_field().

Text from CVE List

Affected versions 14

  • Linuxaffected: 00cf3d672a9dd409418647e9f98784c339c3ff63 before 1f36e4ddd05d540f363dbaa4c23042549f15b3efCVE List
  • Linuxaffected: 00cf3d672a9dd409418647e9f98784c339c3ff63 before deb336ae7c7b341591a6862cf6fcfeca97c77dfdCVE List
  • Linuxaffected: 00cf3d672a9dd409418647e9f98784c339c3ff63 before a244c241593b5b38a08f0df2cb43c26574efbdcbCVE List
  • Linuxaffected: b9453380c1c542fd095a4dbe9251eeba4022bbceCVE List
  • Linuxaffected: 5f52389bdd9eafb63b3a2f804e02aeb17b6a5f55CVE List
  • Linuxaffected: f3baa42afeea0d5f04ad31525e861199d02210ccCVE List
  • Linuxaffected: 5.10.237 before 5.11CVE List
  • Linuxaffected: 5.15.124 before 5.16CVE List
  • Linuxaffected: 6.1.43 before 6.2CVE List
  • Linuxaffected: 6.3CVE List
  • Linuxunaffected: all versions before 6.3CVE List
  • Linuxunaffected: 6.18.59 through 6.18.*CVE List
  • Linuxunaffected: 7.2.13 through 7.2.*CVE List
  • Linuxunaffected: 7.3CVE List

References 3