---
id: CVE-2026-99235
title: 'tracing: Save the event file instead of the compatible histogram'
summary: |-
  In the Linux kernel, the following vulnerability has been resolved:

  tracing: Save the event file instead of the compatible histogram

  create_field_var_hist() creates a histogram on the matched event to
  supply a field variable, and recor…
severity: high
cvss: 7.8
cvssVector: 'CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H'
cvssSource: cna
vendor: Linux
product: Linux
affected:
  - >-
    Linux >= 02205a6752f223779a1b0e9e8ffacbea6e717851 <
    a6165126b1a1b26342b55be6eb6ee23af8756aba
  - >-
    Linux >= 02205a6752f223779a1b0e9e8ffacbea6e717851 <
    173914501b97236d7ea7dc2af7f30feddd4e1436
  - >-
    Linux >= 02205a6752f223779a1b0e9e8ffacbea6e717851 <
    ac815a379644b2ad5008a009a3516ada31b5dd82
  - >-
    Linux >= 02205a6752f223779a1b0e9e8ffacbea6e717851 <
    8b307d64a60548e4a74cb746f74d7ed4bd49965e
  - >-
    Linux >= 02205a6752f223779a1b0e9e8ffacbea6e717851 <
    7a111ba0d1b74c99bc8f096565dc71945f694254
  - >-
    Linux >= 02205a6752f223779a1b0e9e8ffacbea6e717851 <
    3609ada3c12cecfb0ae5ee82ef4f86c5f18a2dea
  - >-
    Linux >= 02205a6752f223779a1b0e9e8ffacbea6e717851 <
    9631dbccd3c649b567a5aafffea6b00634183997
  - >-
    Linux >= 02205a6752f223779a1b0e9e8ffacbea6e717851 <
    7cafc82e6153f05a221be678cd649d02e06ba909
  - >-
    Linux >= 02205a6752f223779a1b0e9e8ffacbea6e717851 <
    d5c42664fc094899af9aae5300b27fe8fdb658ef
  - Linux 4.17
published: '2026-11-02'
updated: '2026-11-03'
sourceUpdated: '2026-11-03T19:13:03.627Z'
source: CVEORG
sourceUrl: 'https://www.cve.org/CVERecord?id=CVE-2026-99235'
references:
  - url: 'https://git.kernel.org/stable/c/a6165126b1a1b26342b55be6eb6ee23af8756aba'
  - url: 'https://git.kernel.org/stable/c/173914501b97236d7ea7dc2af7f30feddd4e1436'
  - url: 'https://git.kernel.org/stable/c/ac815a379644b2ad5008a009a3516ada31b5dd82'
  - url: 'https://git.kernel.org/stable/c/8b307d64a60548e4a74cb746f74d7ed4bd49965e'
  - url: 'https://git.kernel.org/stable/c/7a111ba0d1b74c99bc8f096565dc71945f694254'
  - url: 'https://git.kernel.org/stable/c/3609ada3c12cecfb0ae5ee82ef4f86c5f18a2dea'
  - url: 'https://git.kernel.org/stable/c/9631dbccd3c649b567a5aafffea6b00634183997'
  - url: 'https://git.kernel.org/stable/c/7cafc82e6153f05a221be678cd649d02e06ba909'
  - url: 'https://git.kernel.org/stable/c/d5c42664fc094899af9aae5300b27fe8fdb658ef'
tags:
  - cve.org
epss: 0.00122
epssPercentile: 0.02016
ingestedAt: '2026-11-05T20:33:06.388Z'
---

## Overview

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

tracing: Save the event file instead of the compatible histogram

create_field_var_hist() creates a histogram on the matched event to
supply a field variable, and records it on the target so it can be torn
down later:

	hist_data = find_compatible_hist(target_hist_data, file);
	...
	/* Save the compatible histogram information */
	var_hist->hist_data = hist_data;

hist_data is not the histogram it creates. It is one that was already
there, whose keys the new one copies. The saved pointer has a single
user, unregister_field_var_hists(), which runs when the target is
removed:

	file = hist_data->field_var_hists[i]->hist_data->event_file;

find_compatible_hist() matches on keys alone, so it can pick one with no
variables of its own. check_var_refs() then returns false and the user
can remove it while the target still points at it:

 BUG: KASAN: slab-use-after-free in event_hist_trigger_free+0x2b2/0x320
 Read of size 8 at addr ffff8880093b90e0 by task init/1

 Freed by task 1:
  kfree+0x154/0x420
  event_hist_trigger_free+0x1d5/0x320
  event_hist_trigger_parse+0x35f3/0x69e0
  trigger_process_regex+0x1a6/0x250

Save the event file instead. It is all the dereference ever wanted, and
it does not go away when the user removes a trigger.

## Affected

- `Linux >= 02205a6752f223779a1b0e9e8ffacbea6e717851 < a6165126b1a1b26342b55be6eb6ee23af8756aba`
- `Linux >= 02205a6752f223779a1b0e9e8ffacbea6e717851 < 173914501b97236d7ea7dc2af7f30feddd4e1436`
- `Linux >= 02205a6752f223779a1b0e9e8ffacbea6e717851 < ac815a379644b2ad5008a009a3516ada31b5dd82`
- `Linux >= 02205a6752f223779a1b0e9e8ffacbea6e717851 < 8b307d64a60548e4a74cb746f74d7ed4bd49965e`
- `Linux >= 02205a6752f223779a1b0e9e8ffacbea6e717851 < 7a111ba0d1b74c99bc8f096565dc71945f694254`
- `Linux >= 02205a6752f223779a1b0e9e8ffacbea6e717851 < 3609ada3c12cecfb0ae5ee82ef4f86c5f18a2dea`
- `Linux >= 02205a6752f223779a1b0e9e8ffacbea6e717851 < 9631dbccd3c649b567a5aafffea6b00634183997`
- `Linux >= 02205a6752f223779a1b0e9e8ffacbea6e717851 < 7cafc82e6153f05a221be678cd649d02e06ba909`
- `Linux >= 02205a6752f223779a1b0e9e8ffacbea6e717851 < d5c42664fc094899af9aae5300b27fe8fdb658ef`
- `Linux 4.17`

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.
