Read the docs
TI-2026-81870 Aliases CVE-2026-99163GHSA-8cf9-783r-h9xg

Missing type check for synthetic stacktrace fields in Linux kernel

Priority LOW 33Published · Updated

Key facts

Attack vector
Local
Privileges required
Low
User interaction
None
Attack complexity
Low
Impact type
—
Confidentiality · integrity · availability
High · High · High
Fix status
Fixed

Attack profile from CVSS 3.1 · CNA. Fix status from CNA.

Summary

Linux kernel tracing histograms in versions from 5.10.237 before 5.10.273, from 5.15.124 before 5.15.224, from 6.1.43 before 6.1.191, and from 6.3 are affected. A missing check on the field type lets a signed scalar value be dereferenced as a kernel stacktrace pointer. A local user with low privileges can trigger it, with high impact to confidentiality, integrity and availability.

Written with Claude Haiku 5.5 from the sources below · 2026-10-31

Description from the CNA

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

Why it matters now

EPSS 0.00134 2nd percentileScored 2026-11-07
Fix Fixed Linux (Linux): 5.10.273, 5.15.224, 6.1.191 +5

SSVC decision points

Not available: CISA has not published SSVC decision points for this record.

Affected products

VendorProductAffected versionsFixed inStatusSource
LinuxLinux5.10.237 to before 5.10.273; 5.15.124 to before 5.15.224; 6.1.43 to before 6.1.1915.10.273, 5.15.224, 6.1.191Patch availableCNA
LinuxLinux6.3 and later5.10.273, 5.15.224, 6.1.191, 6.6.161, 6.12.115, 6.18.59, 7.2.13, 7.3Patch availableCNA
  • Linux VendorLinux Affected 5.10.237 to before 5.10.273; 5.15.124 to before 5.15.224; 6.1.43 to before 6.1.191 Fixed in 5.10.273, 5.15.224, 6.1.191 Patch available CNA
  • Linux VendorLinux Affected 6.3 and later Fixed in 5.10.273, 5.15.224, 6.1.191, 6.6.161, 6.12.115, 6.18.59, 7.2.13, 7.3 Patch available CNA

CPE names Threatist (inferred) · 1

Inferred from how NVD named this product before; not given by a source.

CPEVersionsRoleVendor
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*——Linux
  • cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* Versions — — ·Linux

Remediation

Upgrade the Linux kernel to 5.10.273, 5.15.224, 6.1.191, 6.6.161, 6.12.115, 6.18.59, 7.2.13 or 7.3, or to a release that includes the upstream fix commits.

Written with Claude Haiku 5.5 from the sources below · 2026-10-31

  • Fix · CNA Linux (Linux) Fixed in 5.10.273, 5.15.224, 6.1.191
  • Fix · CNA Linux (Linux) Fixed in 5.10.273, 5.15.224, 6.1.191, 6.6.161, 6.12.115, 6.18.59, 7.2.13, 7.3

Timeline

  1. 2026-10-28 Threatist record created from CVE-2026-99163
  2. 2026-10-28 Alias added: GHSA-8cf9-783r-h9xg
  3. 2026-10-30 Fix available: Linux/Linux@326c45c9e201e3ff4c9e9e0e14c2c91364d6c8be, Linux/[email protected], Linux/[email protected] +7 · CNA
  4. 2026-10-30 5 new references · CNA
  5. 2026-10-31 CVSS score added · CNA

References

  • TI-2025-26358 tls: fix handling of zero-length records on the rx_list KEVCVSS 3.1CRITICAL 9.8
  • TI-2026-38352 netfilter: bridge: make ebt_snat ARP rewrite writable KEVCVSS 3.1HIGH 8.8
  • TI-2021-02452 Incorrect authorization in Ubuntu linux kernel KEVCVSS 3.1HIGH 8.8
  • TI-2013-05264 The (1) get_user and (2) put_user API functions in the Linux kernel before 3.5.5 on the… KEVCVSS 3.1HIGH 8.8
  • TI-2022-00125 Integer overflow in kernel KEVCVSS 3.1HIGH 8.4
  • TI-2013-01864 The perf_swevent_init function in kernel/events/core.c in the Linux kernel before 3.8.9… KEVCVSS 3.1HIGH 8.4
See all 21741 →

Sources