CVE-2026-64216

Summary

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.

Affected Software

VendorProductVersion RangeStatus
LinuxLinuxee4cdf7ba857a894ad1650d6ab77669cbbfa329e < 6080fa3ecfbb4448a3b47368629534c09b6ec750affected
LinuxLinuxee4cdf7ba857a894ad1650d6ab77669cbbfa329e < 3866d015f33aeedf81338dd99154703bef33faefaffected
LinuxLinuxee4cdf7ba857a894ad1650d6ab77669cbbfa329e < dbe556972100fabb8e5a1b3d2163831ff07b1e8eaffected
LinuxLinux6.12affected
LinuxLinux0 < 6.12unaffected
LinuxLinux6.18.34 <= 6.18.*unaffected
LinuxLinux7.0.11 <= 7.0.*unaffected
LinuxLinux7.1 <= *unaffected

Weaknesses

References