CVE Catalog

CVE-2023-52699

MediumCVSS 5.3
Published: Updated: Translated: NVD NIST

Exploitation Probability (EPSS)

Elevated risk
0.97%

61th percentile - higher than 61% of all known CVEs

Summary

In the Linux kernel, a vulnerability was resolved in the SysV filesystem where sb_bread() was called with pointers_lock held, causing sleep in atomic context. The deadlock and sb_bread() with lock bugs were introduced by changes in Linux 2.5.12 and 2.6.8. The fix follows an approach similar to the Minix filesystem.

Risk Assessment

This could lead to deadlocks or system instability, causing hangs or crashes, affecting service availability.

Recommendation

Update the Linux kernel to a version containing the fix to eliminate the risk of deadlock and sleep in atomic context.

Other vulnerabilities in Linux kernel

See all
Original NVD description (English source)

In the Linux kernel, the following vulnerability has been resolved: sysv: don't call sb_bread() with pointers_lock held syzbot is reporting sleep in atomic context in SysV filesystem [1], for sb_bread() is called with rw_spinlock held. A "write_lock(&pointers_lock) => read_lock(&pointers_lock) deadlock" bug and a "sb_bread() with write_lock(&pointers_lock)" bug were introduced by "Replace BKL for chain locking with sysvfs-private rwlock" in Linux 2.5.12. Then, "[PATCH] err1-40: sysvfs locking fix" in Linux 2.6.8 fixed the former bug by moving pointers_lock lock to the callers, but instead introduced a "sb_bread() with read_lock(&pointers_lock)" bug (which made this problem easier to hit). Al Viro suggested that why not to do like get_branch()/get_block()/ find_shared() in Minix filesystem does. And doing like that is almost a revert of "[PATCH] err1-40: sysvfs locking fix" except that get_branch() from with find_shared() is called without write_lock(&pointers_lock).

Vulnerability data from NVD (NIST) · CISA KEV · EPSS