{"id":"CVE-2026-97923","title":"In the Linux kernel, the following vulnerability has been resolved:\n\ntracing: Free histogram the var ref when its initialization fails\n\ncreate_var_ref() allocates a VAR_REF hist_field and then calls\ninit_var_ref() to fill it in","summary":"In the Linux kernel, the following vulnerability has been resolved:\n\ntracing: Free histogram the var ref when its initialization fails\n\ncreate_var_ref() allocates a VAR_REF hist_field and then calls\ninit_var_ref() to fill it in. When tha…","severity":"none","vendor":"Linux","product":"Linux","affected":["Linux >= 656fe2ba85e81d00e4447bf77b8da2be3c47acb2 < 74375caa20fe5165807b4334c783d1790b01f02a","Linux >= 656fe2ba85e81d00e4447bf77b8da2be3c47acb2 < 222abcbe7866fef04563b6eb89fb21f627dcbc77","Linux >= 656fe2ba85e81d00e4447bf77b8da2be3c47acb2 < a69baeac38677270656e85753d93856a076dee57","Linux >= 656fe2ba85e81d00e4447bf77b8da2be3c47acb2 < 516001d53e6b2ea95a251ee2ef54a1a689a3fd58","Linux 836717841a30d7845cdf9cb806ee0ff3bfa7135a","Linux >= 4.19.100 < 4.20","Linux 5.0"],"published":"2026-09-25","updated":"2026-09-25","sourceUpdated":"2026-09-25T11:17:19.413","source":"NVD","sourceUrl":"https://nvd.nist.gov/vuln/detail/CVE-2026-97923","references":[{"url":"https://git.kernel.org/stable/c/222abcbe7866fef04563b6eb89fb21f627dcbc77","label":"416baaa9-dc9f-4396-8d5f-8c081fb06d67"},{"url":"https://git.kernel.org/stable/c/516001d53e6b2ea95a251ee2ef54a1a689a3fd58","label":"416baaa9-dc9f-4396-8d5f-8c081fb06d67"},{"url":"https://git.kernel.org/stable/c/74375caa20fe5165807b4334c783d1790b01f02a","label":"416baaa9-dc9f-4396-8d5f-8c081fb06d67"},{"url":"https://git.kernel.org/stable/c/a69baeac38677270656e85753d93856a076dee57","label":"416baaa9-dc9f-4396-8d5f-8c081fb06d67"}],"tags":["nvd","cve.org"],"ingestedAt":"2026-09-25T11:06:38.888Z","slug":"CVE-2026-97923","body":"## Overview\n\nIn the Linux kernel, the following vulnerability has been resolved:\n\ntracing: Free histogram the var ref when its initialization fails\n\ncreate_var_ref() allocates a VAR_REF hist_field and then calls\ninit_var_ref() to fill it in. When that fails the field is leaked.\n\ncommit 656fe2ba85e8 (\"tracing: Use hist trigger's var_ref array to destroy\nvar_refs\") made destroy_hist_field() return early for\nHIST_FIELD_FL_VAR_REF, since var refs are freed by walking the trigger's\nvar_refs[] array instead. create_var_ref() adds the field to that array\nonly after init_var_ref() has succeeded, so on this path the field is in\nneither place and nothing frees it. The call was correct when it was\nwritten, before var refs were taken out of destroy_hist_field().\n\ninit_var_ref() cannot free it either. The caller owns the field, so\ninit_var_ref() undoes only its own string allocations and leaves the\nfield alone. Freeing it there would leave create_var_ref() passing freed\nmemory to destroy_hist_field(), which reads its flags.\n\nCall __destroy_hist_field(), which frees the field without consulting\nthe flag.\n\n## Remediation\n\nRefer to the linked advisories for vendor-supplied fixes and affected version ranges.","depth":"sunlit","depthScore":3,"depthScoreParts":{"impact":2.8,"likelihood":0,"exploitation":0,"ransomware":0},"changes":[]}