CVE-2026-64216: netfs: Fix potential UAF in netfs_unlock_abandoned_read_pages()
Greg Kroah-Hartman <[email protected]> Fri, 24 Jul 2026 17:23:19 +0200
| Newsgroups | org.kernel.vger.linux-cve-announce |
|---|---|
| Message-ID | <2026072415-CVE-2026-64216-bc28@gregkh> |
From: Greg Kroah-Hartman <[email protected]> Description =========== In the Linux kernel, the following vulnerability has been resolved: netfs: Fix potential UAF in netfs_unlock_abandoned_read_pages() netfs_unlock_abandoned_read_pages(rreq) accesses the index of the folios it is wanting to unlock and compares that to rreq->no_unlock_folio so that it doesn't unlock a folio being read for netfs_perform_write() or netfs_write_begin(). However, given that netfs_unlock_abandoned_read_pages() is called _after_ NETFS_RREQ_IN_PROGRESS is cleared, the one folio that it's not allowed to dereference is the one specified by ->no_unlock_folio as ownership immediately reverts to the caller. Fix this by storing the folio pointer instead and using that rather than the index. Also fix netfs_unlock_read_folio() where the same applies. The Linux kernel CVE team has assigned CVE-2026-64216 to this issue. Affected and fixed versions =========================== Issue introduced in 6.12 with commit ee4cdf7ba857a894ad1650d6ab77669cbbfa329e and fixed in 6.18.34 with commit 6080fa3ecfbb4448a3b47368629534c09b6ec750 Issue introduced in 6.12 with commit ee4cdf7ba857a894ad1650d6ab77669cbbfa329e and fixed in 7.0.11 with commit 3866d015f33aeedf81338dd99154703bef33faef Issue introduced in 6.12 with commit ee4cdf7ba857a894ad1650d6ab77669cbbfa329e and fixed in 7.1 with commit dbe556972100fabb8e5a1b3d2163831ff07b1e8e 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-64216 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/netfs/buffered_read.c fs/netfs/read_collect.c fs/netfs/read_retry.c include/linux/netfs.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/6080fa3ecfbb4448a3b47368629534c09b6ec750 https://git.kernel.org/stable/c/3866d015f33aeedf81338dd99154703bef33faef https://git.kernel.org/stable/c/dbe556972100fabb8e5a1b3d2163831ff07b1e8e