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.
Metrics
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HWeakness enumeration
Affected software
| Vendor | Product | Versions |
|---|---|---|
| Linux | Linux | >= ee4cdf7ba857a894ad1650d6ab77669cbbfa329e, < d4ae8dba90b89e7bb4d1045d1cb26afbaf13ee5c; >= ee4cdf7ba857a894ad1650d6ab77669cbbfa329e, < 6080fa3ecfbb4448a3b47368629534c09b6ec750; >= ee4cdf7ba857a894ad1650d6ab77669cbbfa329e, < 3866d015f33aeedf81338dd99154703bef33faef; >= ee4cdf7ba857a894ad1650d6ab77669cbbfa329e, < dbe556972100fabb8e5a1b3d2163831ff07b1e8e |
| Linux | Linux | 6.12 |
References
- https://git.kernel.org/stable/c/3866d015f33aeedf81338dd99154703bef33faefPatch
- https://git.kernel.org/stable/c/6080fa3ecfbb4448a3b47368629534c09b6ec750Patch
- https://git.kernel.org/stable/c/d4ae8dba90b89e7bb4d1045d1cb26afbaf13ee5c
- https://git.kernel.org/stable/c/dbe556972100fabb8e5a1b3d2163831ff07b1e8ePatch
Timeline
- Published
- Jul 24, 2026
- Last modified
- Aug 27, 2026
- NVD status
- Modified