CVE-2026-74605: eventfs: Use children field for rcu head and add memory barriers
Greg Kroah-Hartman <[email protected]>
| Newsgroups | org.kernel.vger.linux-cve-announce |
|---|---|
| Message-ID | <2026082216-CVE-2026-74605-94d2@gregkh> |
From: Greg Kroah-Hartman <[email protected]> Description =========== In the Linux kernel, the following vulnerability has been resolved: eventfs: Use children field for rcu head and add memory barriers When an eventfs inode is freed, it sets ei->is_freed and then uses its ei->list to add it to the srcu link list as the list field is a union with the rcu list head. As the ei->list is used to iterate over an SRCU protected list without taking the eventfs_mutex, there's nothing stopping the iteration over that list to see the ei->rcu instead of the ei->list and it will read a corrupt target. To fix this, change the union of the rcu list head with the children list. On freeing the eventfs inode, set the is_free and execute a smp_wmb() before adding the eventfs inode to the SRCU list. On iteration of the ei->children list, at the start, execute a smp_rmb() and then read the is_freed of the ei to see if the children list is still valid. If is_freed is set, then the ei_child read is not valid and the loop should exit immediately. The Linux kernel CVE team has assigned CVE-2026-74605 to this issue. Affected and fixed versions =========================== Issue introduced in 6.8 with commit 704f960dbee2f1634f4b4e16f208cb16eaf41c1e and fixed in 7.1.9 with commit 004f7232e49730448f91665e76bdd7dff8e0c638 Issue introduced in 6.8 with commit 704f960dbee2f1634f4b4e16f208cb16eaf41c1e and fixed in 7.2 with commit f0ece16ffca7384787b692431961ce202907acf5 Issue introduced in 6.6.18 with commit f3f41f444b321ec393edbc251e024fd62658ce55 Issue introduced in 6.7.6 with commit 305c4e4d80aca2c2d9cf2ebdea56e2eca6d3a6aa Please see https://www.kernel.org for a full list of currently supported kernel versions by the kernel community. Unaffected versions might change over time as fixes are backported to older supported kernel versions. The official CVE entry at https://cve.org/CVERecord/?id=CVE-2026-74605 will be updated if fixes are backported, please check that for the most up to date information about this issue. Affected files ============== The file(s) affected by this issue are: fs/tracefs/event_inode.c fs/tracefs/internal.h Mitigation ========== The Linux kernel CVE team recommends that you update to the latest stable kernel version for this, and many other bugfixes. Individual changes are never tested alone, but rather are part of a larger kernel release. Cherry-picking individual commits is not recommended or supported by the Linux kernel community at all. If however, updating to the latest release is impossible, the individual changes to resolve this issue can be found at these commits: https://git.kernel.org/stable/c/004f7232e49730448f91665e76bdd7dff8e0c638 https://git.kernel.org/stable/c/f0ece16ffca7384787b692431961ce202907acf5