CVE-2026-53388
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Summary
In the Linux kernel, the following vulnerability has been resolved:
fuse: re-lock request before replacing page cache folio
fuse_try_move_folio() unlocks the request on entry but does not re-lock it on the success path. This means fuse_chan_abort() can end the request and free the fuse_io_args (eg fuse_readpages_end()) while the subsequent copy chain logic after fuse_try_move_folio() accesses the fuse_io_args, leading to use-after-free issues.
Fix this by calling lock_request() before replace_page_cache_folio(). This ensures the request is locked on the success path which will prevent the fuse_io_args from being freed while the later copying logic runs, and also ensures that the ap->folios[i]->mapping is never null since ap->folios[i] will always point to the newfolio after replace_page_cache_folio().
Affected Software
| Vendor | Product | Version Range | Status |
|---|---|---|---|
| Linux | Linux | ce534fb052928ce556639d7ecf01cbf4e01321e1 < 7c18691e0cfda29672f79bafde8abdb7710674f6 | affected |
| Linux | Linux | ce534fb052928ce556639d7ecf01cbf4e01321e1 < 5927b43a4f8d89e86930f524bf63e9c7e66f61b4 | affected |
| Linux | Linux | ce534fb052928ce556639d7ecf01cbf4e01321e1 < 030fe3e9d8abdee303dd7e9e42f45082d382a407 | affected |
| Linux | Linux | ce534fb052928ce556639d7ecf01cbf4e01321e1 < 46473ddccdc5065033e397d6e62c280dbcd3d9c2 | affected |
| Linux | Linux | ce534fb052928ce556639d7ecf01cbf4e01321e1 < af2892249d982a1c036ca456cc135374e68b6677 | affected |
| Linux | Linux | ce534fb052928ce556639d7ecf01cbf4e01321e1 < 0223f452532d9cd8a5e87c45de828fd93c99bd25 | affected |
| Linux | Linux | ce534fb052928ce556639d7ecf01cbf4e01321e1 < e28db6ac4792d065ab32565fd9f0a2361c3d4666 | affected |
| Linux | Linux | ce534fb052928ce556639d7ecf01cbf4e01321e1 < a078484921052d0badd827fcc2770b5cfc1d4120 | affected |
| Linux | Linux | 2.6.35 | affected |
| Linux | Linux | 0 < 2.6.35 | unaffected |
| Linux | Linux | 5.15.211 <= 5.15.* | unaffected |
| Linux | Linux | 6.1.177 <= 6.1.* | unaffected |
| Linux | Linux | 6.6.144 <= 6.6.* | unaffected |
| Linux | Linux | 6.12.95 <= 6.12.* | unaffected |
| Linux | Linux | 6.18.37 <= 6.18.* | unaffected |
| Linux | Linux | 7.0.14 <= 7.0.* | unaffected |
| Linux | Linux | 7.1.2 <= 7.1.* | unaffected |
| Linux | Linux | 7.2-rc1 <= * | unaffected |
Weaknesses
References
- https://git.kernel.org/stable/c/7c18691e0cfda29672f79bafde8abdb7710674f6
- https://git.kernel.org/stable/c/5927b43a4f8d89e86930f524bf63e9c7e66f61b4
- https://git.kernel.org/stable/c/030fe3e9d8abdee303dd7e9e42f45082d382a407
- https://git.kernel.org/stable/c/46473ddccdc5065033e397d6e62c280dbcd3d9c2
- https://git.kernel.org/stable/c/af2892249d982a1c036ca456cc135374e68b6677
- https://git.kernel.org/stable/c/0223f452532d9cd8a5e87c45de828fd93c99bd25
- https://git.kernel.org/stable/c/e28db6ac4792d065ab32565fd9f0a2361c3d4666
- https://git.kernel.org/stable/c/a078484921052d0badd827fcc2770b5cfc1d4120
Feedback
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.