CVE Database›Document archive›CVE-2023-53593

CVE-2023-53593

kernel: cifs: Release folio lock on fscache read hit

Loading…

Severity

Low

Red Hat Product Security

5.5

CVSS 3.1

Review impact separately from score.

Published · October 4, 2025

Updated · June 30, 2026

Description

A lock leak flaw was found in the Linux kernel's CIFS filesystem implementation in the fscache read path. A local user can trigger this issue when reading CIFS files with fscache enabled and a cache hit occurs, causing the page lock to never be released. This creates a deadlock where subsequent accesses to the same page block indefinitely waiting for the lock, resulting in hung processes and denial of service that persists until reboot.

Statement

The CIFS filesystem can use fscache to cache file data locally, improving performance for network filesystems. The VFS read_folio contract specifies that the filesystem must unlock the page when reading completes, regardless of success or failure. The cifs_readpage_worker function handles page reads and is responsible for unlocking pages. When fscache is enabled and returns a cache hit through cifs_readpage_from_fscache, the data is retrieved successfully from cache—but the code marks the page clean without releasing its lock. Meanwhile, cifs_readahead (which handles multi-page reads) calls the same fscache function but does unconditionally unlock pages afterward. This asymmetry means single-page reads leak locks while multi-page reads don't. Once leaked, any subsequent attempt to access that page—whether through read, mmap, or page fault—blocks forever waiting for a lock that will never be released. The resulting deadlock requires a full system reboot to clear.

CVSS score applicability

The CVSS score(s) listed for this vulnerability do not reflect the associated product's status, and are included for informational purposes to better understand the severity of this vulnerability.

Mitigation

No mitigation is specified in collected source.

CVSS / CWE

CVSS 3.1 · 5.5
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H

CWE-772 · Missing Release of Resource after Effective Lifetime