CVE-2026-23292

Source
https://cve.org/CVERecord?id=CVE-2026-23292
Import Source
https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-23292.json
JSON Data
https://api.osv.dev/v1/vulns/CVE-2026-23292
Downstream
Published
2026-03-25T10:26:50.408Z
Modified
2026-04-02T13:12:20.662570Z
Summary
scsi: target: Fix recursive locking in __configfs_open_file()
Details

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

scsi: target: Fix recursive locking in __configfsopenfile()

In flushwritebuffer, &p->fragsem is acquired and then the loaded store function is called, which, here, is targetcoreitemdbrootstore(). This function called filpopen(), following which these functions were called (in reverse order), according to the call trace:

down_read __configfsopenfile dodentryopen vfsopen doopen pathopenat dofilpopen fileopenname filpopen targetcoreitemdbrootstore flushwritebuffer configfswriteiter

targetcoreitemdbrootstore() tries to validate the new file path by trying to open the file path provided to it; however, in this case, the bug report shows:

db_root: not a directory: /sys/kernel/config/target/dbroot

indicating that the same configfs file was tried to be opened, on which it is currently working on. Thus, it is trying to acquire fragsem semaphore of the same file of which it already holds the semaphore obtained in flushwrite_buffer(), leading to acquiring the semaphore in a nested manner and a possibility of recursive locking.

Fix this by modifying targetcoreitemdbrootstore() to use kernpath() instead of filpopen() to avoid opening the file using filesystem-specific function __configfsopenfile(), and further modifying it to make this fix compatible.

Database specific
{
    "cna_assigner": "Linux",
    "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/23xxx/CVE-2026-23292.json"
}
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
b0841eefd9693827afb9888235e26ddd098f9cef
Fixed
3161ef61f121d4573cad5b57c92188dcd9b284b3
Fixed
e8ef82cb6443d5f3260b1b830e17f03dda4229ea
Fixed
4fcfa424a581d823cb1a9676e3eefe6ca17e453a
Fixed
9a5641024fbfd9b24fe65984ad85fea10a3ae438
Fixed
142eacb50fb903a4c10dee7e67b6e79ebb36a582
Fixed
14d4ac19d1895397532eec407433c5d74d9da53b
Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
0 Unknown introduced commit / All previous commits are affected
Last affected
49824b5c875087a52672b0c8e8ecbefe6f773532
Last affected
09e21253d17f53bdb5aac0e0dbd057a29fcbe8d1
Last affected
0dfc45be875a378c2a3a4d6ed8e668ec8eb75073

Database specific

source
"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-23292.json"

Linux / Kernel

Package

Name
Kernel

Affected ranges

Type
ECOSYSTEM
Events
Introduced
5.3.0
Fixed
6.1.167
Type
ECOSYSTEM
Events
Introduced
6.2.0
Fixed
6.6.130
Type
ECOSYSTEM
Events
Introduced
6.7.0
Fixed
6.12.77
Type
ECOSYSTEM
Events
Introduced
6.13.0
Fixed
6.18.17
Type
ECOSYSTEM
Events
Introduced
6.19.0
Fixed
6.19.7

Database specific

source
"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-23292.json"