{"id":"CVE-2026-97933","title":"In the Linux kernel, the following vulnerability has been resolved:\n\ntracing: Take trace_array reference when opening a tracer options file\n\nWhen a tracer option file is opened, it is passed a descriptor that points\nto an element on the …","summary":"In the Linux kernel, the following vulnerability has been resolved:\n\ntracing: Take trace_array reference when opening a tracer options file\n\nWhen a tracer option file is opened, it is passed a descriptor that points\nto an element on the …","severity":"none","vendor":"Linux","product":"Linux","affected":["Linux >= 7e2cfbd2d3c86afcd5c26b5c4b1dd251f63c5838 < b2fb87d29ffb3a7a9ccc5acf12898ecb80587427","Linux >= 7e2cfbd2d3c86afcd5c26b5c4b1dd251f63c5838 < ed0aff60f83a9bdc2f6556376ac79c96b3ce7e80","Linux 952e477f908048145a5eb2ed3d431d9efc1e1073","Linux b3183f5f05cd867f5c17122773ca5aa8d07b51af","Linux bf38c1d29f8bfe9631b62a67f8dd1b8f7efb7139","Linux 2617afde0c3db285778734b0ccad9a55b4f9cda2","Linux 586787a0331aa2d7d244e9c4400d2a73295b0cf0","Linux >= 5.4.257 < 5.5","Linux >= 5.10.197 < 5.11","Linux >= 5.15.133 < 5.16","Linux >= 6.1.55 < 6.2","Linux >= 6.5.5 < 6.6","Linux 6.6"],"published":"2026-09-25","updated":"2026-09-25","sourceUpdated":"2026-09-25T11:17:20.610","source":"NVD","sourceUrl":"https://nvd.nist.gov/vuln/detail/CVE-2026-97933","references":[{"url":"https://git.kernel.org/stable/c/b2fb87d29ffb3a7a9ccc5acf12898ecb80587427","label":"416baaa9-dc9f-4396-8d5f-8c081fb06d67"},{"url":"https://git.kernel.org/stable/c/ed0aff60f83a9bdc2f6556376ac79c96b3ce7e80","label":"416baaa9-dc9f-4396-8d5f-8c081fb06d67"}],"tags":["nvd","cve.org"],"ingestedAt":"2026-09-25T11:06:38.885Z","slug":"CVE-2026-97933","body":"## Overview\n\nIn the Linux kernel, the following vulnerability has been resolved:\n\ntracing: Take trace_array reference when opening a tracer options file\n\nWhen a tracer option file is opened, it is passed a descriptor that points\nto an element on the trace_array's topts array. This element has\ninformation to find the trace array and other information. It uses this\nelement to take a reference of the trace_array so that the trace_array\ndoes not get removed while this file is opened.\n\nUnfortunately, there's a race condition where the element itself could be\nfreed by the removal of the instance the trace_array represents causing a\nuse-after-free as this element that is used to find the trace_array to\nincrement its reference counter is also freed when the instance is\nremoved.\n\nTo solve this, add a trace_array_tracer_options_get() helper function that\nwill take the address of the element that is passed to the open function\nby the inode->i_private pointer and search all the trace_arrays under a\nlock to find the one that the element's address is in the range of the\ntrace_arrays topts array elements. When a match happens, that trace_array's\nreference would be increased.\n\nNote, there's a race where if an admin was deleting and creating trace\ninstances at the same time and the memory of the old trace_array's array\nmatched the memory of the new trace_array that it could in theory open the\noption from the wrong trace array. But we do not care because it would be\nstupid to perform that kind of action. As long as the only thing that can\nhappen is that the option from the wrong trace array is used and doesn't\ncrash the kernel it will only make the user confused. But if they are\ndoing something stupid like this, they are already confused, so no harm\ndone.\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":[]}