# CVE-2026-23292: scsi: target: Fix recursive locking in __configfs_open_file()

> A recursive locking bug in the Linux kernel SCSI target subsystem can cause a deadlock, leading to a denial of service.

- **Severity:** Medium 5.5 (`CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H`)
- **Exploited in the wild:** Not known
- **Login needed:** Any signed-in user
- **Attackable:** Local or same network only
- **Victim action needed:** Not needed
- **Fix available:** Yes
- **Published:** 25 Mar 2026
- **Updated:** 15 Oct 2026
- **Also known as:** AZL-80615, BELL-CVE-2026-23292, DEBIAN-CVE-2026-23292, GHSA-55fh-fmpq-w8h6, ROOT-OS-DEBIAN-11-CVE-2026-23292, ROOT-OS-DEBIAN-12-CVE-2026-23292, ROOT-OS-DEBIAN-13-CVE-2026-23292, ROOT-OS-UBUNTU-2204-CVE-2026-23292, ROOT-OS-UBUNTU-2404-CVE-2026-23292, UBUNTU-CVE-2026-23292

## What is CVE-2026-23292?

CVE-2026-23292 is a medium-severity denial of service vulnerability in Linux kernel, published on 25 Mar 2026. It can only be exploited from the same machine or local network, with no action from the victim.

### Official description

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

scsi: target: Fix recursive locking in __configfs_open_file()

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

  down_read
  __configfs_open_file
  do_dentry_open
  vfs_open
  do_open
  path_openat
  do_filp_open
  file_open_name
  filp_open
  target_core_item_dbroot_store
  flush_write_buffer
  configfs_write_iter

target_core_item_dbroot_store() 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 frag_sem semaphore
of the same file of which it already holds the semaphore obtained in
flush_write_buffer(), leading to acquiring the semaphore in a nested manner
and a possibility of recursive locking.

Fix this by modifying target_core_item_dbroot_store() to use kern_path()
instead of filp_open() to avoid opening the file using filesystem-specific
function __configfs_open_file(), and further modifying it to make this fix
compatible.

Weakness: CWE-674 (Uncontrolled Recursion)

## Which versions are affected by CVE-2026-23292?

It affects 1 product.


Products: Linux kernel.

## How do I fix CVE-2026-23292?

Apply the vendor's patch.

## Is CVE-2026-23292 being exploited?

There is no known exploitation of CVE-2026-23292 in the wild and no public exploit code.

## Other vulnerabilities in Linux kernel

- [CVE-2026-53266](https://insights.sbomify.com/CVE-2026-53266/): Linux Kernel Out-of-Bounds Write (high 8.8, exploited in the wild)
- [CVE-2013-6282](https://insights.sbomify.com/CVE-2013-6282/): Linux Kernel Improper Input Validation (high 8.8, exploited in the wild)
- [CVE-2022-0185](https://insights.sbomify.com/CVE-2022-0185/): Linux Kernel Heap-Based Buffer Overflow (high 8.4, exploited in the wild)
- [CVE-2013-2094](https://insights.sbomify.com/CVE-2013-2094/): Linux Kernel Privilege Escalation (high 8.4, exploited in the wild)
- [CVE-2026-53362](https://insights.sbomify.com/CVE-2026-53362/): Linux Kernel Unspecified (high 7.8, exploited in the wild)

## Fix prompt for AI coding agents

```text
Check this codebase for CVE-2026-23292 and fix it if it is affected.

What it is: CVE-2026-23292 is a medium-severity denial of service vulnerability in Linux kernel, published on 25 Mar 2026. It can only be exploited from the same machine or local network, with no action from the victim.
Exploitation: There is no known exploitation of CVE-2026-23292 in the wild and no public exploit code.

Affected product: Linux kernel. No package-level version data is available, so check the vendor advisory linked from the reference page.

Task:
1. Search the dependency manifests and lockfiles (for example package.json, package-lock.json, requirements.txt, poetry.lock, uv.lock, pom.xml, build.gradle, go.mod, Cargo.lock, Gemfile.lock) and any Dockerfiles for the affected packages, including transitive dependencies.
2. If an affected version is in use, upgrade it to the fixed version for its release line with the project's package manager, so the lockfile is regenerated. Prefer the smallest upgrade that fixes it.
3. If there is no fix, or the upgrade would break the build, do not guess: explain the risk and the safest workaround instead.
4. Run the tests and summarise what changed and why.
5. If nothing in the project is affected, say so and change nothing.

Reference: https://insights.sbomify.com/CVE-2026-23292/ (Markdown: https://insights.sbomify.com/CVE-2026-23292/index.md)
```

## Sources

- CVE record: https://www.cve.org/CVERecord?id=CVE-2026-23292
- NVD: https://nvd.nist.gov/vuln/detail/CVE-2026-23292
- OSV: https://osv.dev/vulnerability/CVE-2026-23292

---
From sbomify Insights: https://insights.sbomify.com/CVE-2026-23292/
Summaries are generated and may contain mistakes; the official description above is the record.
