CVEvulnerability
CVE-2026-97923
- Status
- Received
- Published
- 2026-09-25
- Last modified
- 2026-10-19
- Assigner
- 416baaa9-dc9f-4396-8d5f-8c081fb06d67
Description
In the Linux kernel, the following vulnerability has been resolved:
tracing: Free histogram the var ref when its initialization fails
create_var_ref() allocates a VAR_REF hist_field and then calls
init_var_ref() to fill it in. When that fails the field is leaked.
commit 656fe2ba85e8 ("tracing: Use hist trigger's var_ref array to destroy
var_refs") made destroy_hist_field() return early for
HIST_FIELD_FL_VAR_REF, since var refs are freed by walking the trigger's
var_refs[] array instead. create_var_ref() adds the field to that array
only after init_var_ref() has succeeded, so on this path the field is in
neither place and nothing frees it. The call was correct when it was
written, before var refs were taken out of destroy_hist_field().
init_var_ref() cannot free it either. The caller owns the field, so
init_var_ref() undoes only its own string allocations and leaves the
field alone. Freeing it there would leave create_var_ref() passing freed
memory to destroy_hist_field(), which reads its flags.
Call __destroy_hist_field(), which frees the field without consulting
the flag.
References
- https://git.kernel.org/stable/c/222abcbe7866fef04563b6eb89fb21f627dcbc77 git.kernel.org
- https://git.kernel.org/stable/c/352f84a381e7b4651b30366e93cb858f3fa9c91a git.kernel.org
- https://git.kernel.org/stable/c/4870f9071c9ea3c1423a07741b85a794db30d672 git.kernel.org
- https://git.kernel.org/stable/c/4924328d6991f25b65bb7c8ff5d56c2a9b254851 git.kernel.org
- https://git.kernel.org/stable/c/516001d53e6b2ea95a251ee2ef54a1a689a3fd58 git.kernel.org
- https://git.kernel.org/stable/c/608b7751926ec08fae6a1ac4e7308195da68c362 git.kernel.org
- https://git.kernel.org/stable/c/74375caa20fe5165807b4334c783d1790b01f02a git.kernel.org
- https://git.kernel.org/stable/c/a69baeac38677270656e85753d93856a076dee57 git.kernel.org