CVE-2023-52699

Source
https://cve.org/CVERecord?id=CVE-2023-52699
Import Source
https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2023-52699.json
JSON Data
https://api.test.osv.dev/v1/vulns/CVE-2023-52699
Downstream
Related
Published
2024-05-19T10:10:30.381Z
Modified
2026-04-11T12:46:35.390081Z
Severity
  • 5.3 (Medium) CVSS_V3 - CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L CVSS Calculator
Summary
sysv: don't call sb_bread() with pointers_lock held
Details

In the Linux kernel, the following vulnerability has been resolved:

sysv: don't call sbbread() with pointerslock held

syzbot is reporting sleep in atomic context in SysV filesystem [1], for sbbread() is called with rwspinlock held.

A "writelock(&pointerslock) => readlock(&pointerslock) deadlock" bug and a "sbbread() with writelock(&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 pointerslock lock to the callers, but instead introduced a "sbbread() with readlock(&pointerslock)" bug (which made this problem easier to hit).

Al Viro suggested that why not to do like getbranch()/getblock()/ findshared() in Minix filesystem does. And doing like that is almost a revert of "[PATCH] err1-40: sysvfs locking fix" except that getbranch() from with findshared() is called without writelock(&pointers_lock).

Database specific
{
    "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2023/52xxx/CVE-2023-52699.json",
    "cna_assigner": "Linux"
}
References

Affected packages

Git / git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git

Affected ranges

Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
1da177e4c3f41524e886b7f1b8a0c1fc7321cac2
Fixed
13b33feb2ebddc2b1aa607f553566b18a4af1d76
Fixed
1b4fe801b5bedec2b622ddb18e5c9bf26c63d79f
Fixed
674c1c4229e743070e09db63a23442950ff000d1
Fixed
fd203d2c671bdee9ab77090ff394d3b71b627927
Fixed
53cb1e52c9db618c08335984d1ca80db220ccf09
Fixed
89e8524135a3902e7563a5a59b7b5ec1bf4904ac
Fixed
a69224223746ab96d43e5db9d22d136827b7e2d3
Fixed
f123dc86388cb669c3d6322702dc441abc35c31e

Database specific

source
"https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2023-52699.json"

Linux / Kernel

Package

Name
Kernel

Affected ranges

Type
ECOSYSTEM
Events
Introduced
2.6.12
Fixed
4.19.312
Type
ECOSYSTEM
Events
Introduced
4.20.0
Fixed
5.4.274
Type
ECOSYSTEM
Events
Introduced
5.5.0
Fixed
5.10.215
Type
ECOSYSTEM
Events
Introduced
5.11.0
Fixed
5.15.155
Type
ECOSYSTEM
Events
Introduced
5.16.0
Fixed
6.1.86
Type
ECOSYSTEM
Events
Introduced
6.2.0
Fixed
6.6.27
Type
ECOSYSTEM
Events
Introduced
6.7.0
Fixed
6.8.6

Database specific

source
"https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2023-52699.json"