{
  "cveId": "CVE-2026-99156",
  "url": "https://patchblox.com/security/cve/CVE-2026-99156",
  "summary": "CVE-2026-99156 is fixed in linux on 1 platform, first by DEBIAN-CVE-2026-99156, released November 3, 2026. It is not reported as exploited. Patch Radar priority: High.",
  "title": "scsi: st: Fix use-after-free race between st_remove() and st_open()",
  "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-28T11:17:35Z",
  "severity": "Important",
  "cvss": 7.8,
  "cvssVector": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H",
  "epss": 0.0013,
  "epssPercentile": 0.02669,
  "priority": "High",
  "priorityTier": 3,
  "exploited": false,
  "vendorExploited": false,
  "disclosed": false,
  "vendorAdvisory": "https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-99156",
  "fixes": [
    {
      "platform": "linux",
      "product": "linux",
      "release": "Debian 13.5 (trixie)",
      "fixedVersion": "6.12.115-2",
      "fix": "DEBIAN-CVE-2026-99156",
      "url": "https://patchblox.com/security/fix/linux/debian-cve-2026-99156",
      "released": "2026-11-03T18:58:21Z"
    },
    {
      "platform": "linux",
      "product": "linux",
      "release": "Debian 14",
      "fixedVersion": "7.2.13-1",
      "fix": "DEBIAN-CVE-2026-99156",
      "url": "https://patchblox.com/security/fix/linux/debian-cve-2026-99156",
      "released": "2026-11-03T18:58:21Z"
    }
  ],
  "noFixYet": [],
  "dataAsOf": "2026-11-08T13:06:02Z",
  "attribution": {
    "text": "Data: Patchblox Patch Radar",
    "url": "https://patchblox.com/security/patch-radar",
    "terms": "https://patchblox.com/security/patch-radar/use-the-data"
  }
}