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

scsi: st: Fix use-after-free race between st_remove() and st_open()

st_remove() drops the probe reference on the scsi_tape with kref_put()
and only afterwards removes its index from st_index_idr. If that was the
last reference, scsi_tape_release() frees the structure while it is
still published in the idr.

scsi_tape_get(), called from st_open(), looks up the tape in
st_index_idr and takes a reference under st_ref_mutex and
st_index_lock. remove_cdevs() does not wait for opens that are already
past chrdev_open(), so an open that is blocked on st_ref_mutex while
st_remove() holds it can take the mutex as soon as st_remove() drops it,
find the freed tpnt in the idr and call kref_get() on it:

BUG: KASAN: slab-use-after-free in st_open
Write of size 4 ...
st_open (drivers/scsi/st.c:254 drivers/scsi/st.c:1291)
chrdev_open
...
Freed by task ...:
kfree
st_remove (drivers/scsi/st.c:4512)

Remove the index from the idr before dropping the reference, all under
st_ref_mutex. A concurrent scsi_tape_get() now either runs first and
holds a valid reference that keeps the tape alive, or runs afterwards
and finds nothing, so st_open() fails with -ENXIO.

This restores the ordering st_remove() had before the conversion to
st_index_idr, where the tape was unpublished from scsi_tapes[] before
the final kref_put().
Published: 2026-10-28
Score: n/a
EPSS: n/a
KEV: No
Impact: Denial of Service (Kernel Crash)
Action: Apply Patch
AI Analysis

Impact

A race condition exists in the Linux kernel’s SCSI tape driver where the removal routine drops the tape reference before the tape is fully unpublished from the IDR, permitting a concurrent open operation to acquire a stale reference and access freed memory. This results in a use‑after‑free that triggers a kernel panic, as evidenced by KASAN logs. The bug’s impact is a system crash, effectively a denial of service at the kernel level, and could potentially be escalated to arbitrary code execution if an attacker controls the memory contents during the race, although such exploitation is not documented in the current description.

Affected Systems

All Linux kernel implementations that contain the legacy SCSI tape driver ("st") before the applied patch are susceptible. The CVE data does not specify discrete kernel versions, so any distribution whose kernel includes the st driver in its pre‑fix state is considered affected. This includes the standard kernel shipped with most Linux distributions and any custom kernels that retain the module in the older configuration.

Risk and Exploitability

Based on the description, the likely attack vector is local, requiring privileged or specific device permissions. No CVSS or EPSS scores are reported, and the vulnerability is not listed in CISA’s KEV catalog, which suggests a low to moderate prevalence. The race requires that a process holds both the remove and open APIs concurrently, indicating that elevated privileges or a dedicated user with access to the SCSI tape device is necessary to trigger the condition. An attacker with local or privileged access could exploit this to crash the kernel, but the likelihood of remote exploitation without privileged compromise is low.

Generated by OpenCVE AI on October 28, 2026 at 12:39 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Apply a kernel update that includes the fix for the use‑after‑free bug in the SCSI tape driver
  • If a patch is not yet available, unload or disable the "st" kernel module to eliminate the vulnerable code path
  • Monitor system logs for signs of KASAN or kernel panics related to tape device activity and restrict access to tape device nodes to trusted users only

Generated by OpenCVE AI on October 28, 2026 at 12:39 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Wed, 28 Oct 2026 13:30:00 +0000

Type Values Removed Values Added
First Time appeared Linux linux
Vendors & Products Linux linux

Wed, 28 Oct 2026 13:00:00 +0000

Type Values Removed Values Added
Weaknesses CWE-416

Wed, 28 Oct 2026 10:45:00 +0000

Type Values Removed Values Added
Description In the Linux kernel, the following vulnerability has been resolved: scsi: st: Fix use-after-free race between st_remove() and st_open() st_remove() drops the probe reference on the scsi_tape with kref_put() and only afterwards removes its index from st_index_idr. If that was the last reference, scsi_tape_release() frees the structure while it is still published in the idr. scsi_tape_get(), called from st_open(), looks up the tape in st_index_idr and takes a reference under st_ref_mutex and st_index_lock. remove_cdevs() does not wait for opens that are already past chrdev_open(), so an open that is blocked on st_ref_mutex while st_remove() holds it can take the mutex as soon as st_remove() drops it, find the freed tpnt in the idr and call kref_get() on it: BUG: KASAN: slab-use-after-free in st_open Write of size 4 ... st_open (drivers/scsi/st.c:254 drivers/scsi/st.c:1291) chrdev_open ... Freed by task ...: kfree st_remove (drivers/scsi/st.c:4512) Remove the index from the idr before dropping the reference, all under st_ref_mutex. A concurrent scsi_tape_get() now either runs first and holds a valid reference that keeps the tape alive, or runs afterwards and finds nothing, so st_open() fails with -ENXIO. This restores the ordering st_remove() had before the conversion to st_index_idr, where the tape was unpublished from scsi_tapes[] before the final kref_put().
Title scsi: st: Fix use-after-free race between st_remove() and st_open()
First Time appeared Linux
Linux linux Kernel
CPEs cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
Vendors & Products Linux
Linux linux Kernel
References

Subscriptions

Linux Linux Linux Kernel
cve-icon MITRE

Status: PUBLISHED

Assigner: Linux

Published:

Updated: 2026-10-28T10:35:10.493Z

Reserved: 2026-09-25T10:25:14.397Z

Link: CVE-2026-99156

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-10-28T11:17:35.797

Modified: 2026-10-28T11:17:35.797

Link: CVE-2026-99156

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-10-28T13:15:17Z

Weaknesses