CVE-2023-53593: cifs: Release folio lock on fscache read hit.
In the Linux kernel, the following vulnerability has been resolved:
cifs: Release folio lock on fscache read hit.
Under the current code, when cifsreadpageworker is called, the call contract is that the callee should unlock the page. This is documented in the readfolio section of Documentation/filesystems/vfs.rst as:
The filesystem should unlock the folio once the read has completed, whether it was successful or not.
Without this change, when fscache is in use and cache hit occurs during a read, the page lock is leaked, producing the following stack on subsequent reads (via mmap) to the page:
$ cat /proc/3890/task/12864/stack [<0>] foliowaitbitcommon+0x124/0x350 [<0>] filemapreadfolio+0xad/0xf0 [<0>] filemapfault+0x8b1/0xab0 [<0>] dofault+0x39/0x150 [<0>] dofault+0x25c/0x3e0 [<0>] handlemmfault+0x6ca/0xc70 [<0>] handlemmfault+0xe9/0x350 [<0>] douseraddrfault+0x225/0x6c0 [<0>] excpagefault+0x84/0x1b0 [<0>] asmexcpagefault+0x27/0x30
This requires a reboot to resolve; it is a deadlock.
Note however that the call to cifsreadpagefromfscache does mark the page clean, but does not free the folio lock. This happens in cifsreadpagefromfscache on success. Releasing the lock at that point however is not appropriate as cifsreadahead also calls cifsreadpagefromfscache and does unconditionally release the lock after its return. This change therefore effectively makes cifsreadpageworker work like cifsreadahead.
Affected Software
Remediation
Event History
Frequently Asked Questions
What is the severity of CVE-2023-53593?
CVE-2023-53593 has been classified as having moderate severity due to its potential impacts on the Linux kernel's functionality.
How do I fix CVE-2023-53593?
To fix CVE-2023-53593, it is recommended to update to the latest version of the Linux kernel where the vulnerability has been resolved.
What systems are affected by CVE-2023-53593?
CVE-2023-53593 affects systems running the Linux kernel, specifically those utilizing the CIFS file system.
What are the potential impacts of CVE-2023-53593?
The potential impacts of CVE-2023-53593 include performance degradation and possible data inconsistency during CIFS read operations.
Is CVE-2023-53593 publicly known?
Yes, CVE-2023-53593 is a publicly known vulnerability and has been documented as part of the CVE database.