CVE-2026-99163

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

State
Published
Severity
Not scored
Published
Oct 28, 2026
Updated
Oct 30, 2026
Reserved
Sep 25, 2026

Read the record on cve.org

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().

Scores

The record has no CVSS score.

Weaknesses

The record names no weakness.

Affected Products

ProductVersions
LinuxLinux
  • b9453380c1c542fd095a4dbe9251eeba4022bbce to before eba0a6365a0f38f7598a02fc7f9ee341c7efe7f5Affected
  • 5f52389bdd9eafb63b3a2f804e02aeb17b6a5f55 to before 326c45c9e201e3ff4c9e9e0e14c2c91364d6c8beAffected
  • f3baa42afeea0d5f04ad31525e861199d02210cc to before 6c4e4946febb585d2fc93a02a0cd12cec715bb32Affected
  • 00cf3d672a9dd409418647e9f98784c339c3ff63 to before 7e0d05a6234a984ac23b8a563fb7f66f2572b668Affected
  • 00cf3d672a9dd409418647e9f98784c339c3ff63 to before 648687f2b448d8527cd7b112fe5d4bd0fec85a87Affected
  • 00cf3d672a9dd409418647e9f98784c339c3ff63 to before 1f36e4ddd05d540f363dbaa4c23042549f15b3efAffected
  • 00cf3d672a9dd409418647e9f98784c339c3ff63 to before deb336ae7c7b341591a6862cf6fcfeca97c77dfdAffected
  • 00cf3d672a9dd409418647e9f98784c339c3ff63 to before a244c241593b5b38a08f0df2cb43c26574efbdcbAffected
  • 5.10.237 to before 5.10.273Affected
  • 5.15.124 to before 5.15.224Affected
  • 6.1.43 to before 6.1.191Affected
LinuxLinux
  • 6.3Affected
  • before 6.3Not affected
  • 5.10.273 through 5.10.*Not affected
  • 5.15.224 through 5.15.*Not affected
  • 6.1.191 through 6.1.*Not affected
  • 6.6.161 through 6.6.*Not affected
  • 6.12.115 through 6.12.*Not affected
  • 6.18.59 through 6.18.*Not affected
  • 7.2.13 through 7.2.*Not affected
  • 7.3 and laterNot affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.