CVE-2026-72080: fs/resctrl: Fix use-after-free during unmount
In the Linux kernel, the following vulnerability has been resolved:
fs/resctrl: Fix use-after-free during unmount
During unmount or failure teardown all mondata structures that contain monitoring event file private data are freed after which kernfs nodes are removed. However, the RDTDELETED flag is never set for the statically allocated default resource group.
A concurrent reader of an event file associated with the default resource group may, after dropping kernfs active protection, block on rdtgroupmutex while unmount proceeds to free the file private data and destroy the kernfs node without waiting for the reader.
When the mutex is released, the reader wakes up, observes that RDTDELETED is not set for the default group, and dereferences the already-freed file private data.
The scenario can be depicted as follows: CPU0 CPU1 / Default resource group's monitoring data accessible via kernfs file with kernfsnode::priv pointing to a struct mondata. User opens the file for reading. / rdtgroupmondatashow() / arch encounters fatal error / rdtgroupknlocklive() resctrlexit() atomicinc(&rdtgroupdefault.waitcount) cpusreadlock() kernfsbreakactiveprotection(kn) mutexlock(&rdtgroupmutex) cpusreadlock() resctrlfsteardown() mutexlock(&rdtgroupmutex) rmdirallsub() monputknpriv() / Delete all mondata structures / rdtgroupdestroyroot() kernfsdestroyroot() rdtgroupdefault.kn = NULL mutexunlock(&rdtgroupmutex) / rdtgroupdefault.flags is empty so rdtgroupknlocklive() returns &rdtgroupdefault / md = of->kn->priv;
/ md points to freed mondata /
Set RDTDELETED for the default group unconditionally since the flag does not lead to the freeing of this statically allocated group.
Do not allow a new resctrl mount if there are any waiters on default group of previous mount. A new mount will re-initialize the default group that would appear to waiters from previous mount as though the default group is accessible causing them to access the mondata structures from the previous mount that have been removed.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Configuration
Apply the fix to set the RDT_DELETED flag for the default resource group unconditionally during unmount/teardown to prevent use-after-free of previously freed mon_data structures accessed via the default group event file.
Linux kernel resctrl (fs/resctrl) RDT_DELETED flag for the default resource group = set unconditionally for rdtgroup_default - Compensating control
Do not allow a new resctrl mount if there are any waiters on the default group (i.e., prevent a new mount when the default group is still blocked by readers/waiters during unmount).
Event History
Frequently Asked Questions
What is the severity of CVE-2026-72080?
CVE-2026-72080 has been assigned a risk score of 51.
What type of vulnerability is CVE-2026-72080?
CVE-2026-72080 is classified as a Use After Free vulnerability in the Linux kernel.
How do I fix CVE-2026-72080?
To fix CVE-2026-72080, ensure you update to the latest patched version of the Linux kernel where the vulnerability has been resolved.
What are the potential impacts of CVE-2026-72080?
The potential impacts of CVE-2026-72080 include system instability and exploitation through the use-after-free condition.
In which component of the Linux kernel does CVE-2026-72080 occur?
CVE-2026-72080 occurs within the fs/resctrl component of the Linux kernel.