{"id":"CVE-2026-99156","revision":"5bb98023d0de44af94fc99ab01122eb7","records":[{"revision":"5bb98023d0de44af94fc99ab01122eb7","observedAt":"2026-10-30T13:45:33.454+00:00","statement":{"source":"cve-program","id":"CVE-2026-99156","aliases":[],"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:\n\nscsi: st: Fix use-after-free race between st_remove() and st_open()\n\nst_remove() drops the probe reference on the scsi_tape with kref_put()\nand only afterwards removes its index from st_index_idr. If that was the\nlast reference, scsi_tape_release() frees the structure while it is\nstill published in the idr.\n\nscsi_tape_get(), called from st_open(), looks up the tape in\nst_index_idr and takes a reference under st_ref_mutex and\nst_index_lock. remove_cdevs() does not wait for opens that are already\npast chrdev_open(), so an open that is blocked on st_ref_mutex while\nst_remove() holds it can take the mutex as soon as st_remove() drops it,\nfind the freed tpnt in the idr and call kref_get() on it:\n\n  BUG: KASAN: slab-use-after-free in st_open\n  Write of size 4 ...\n   st_open (drivers/scsi/st.c:254 drivers/scsi/st.c:1291)\n   chrdev_open\n  ...\n  Freed by task ...:\n   kfree\n   st_remove (drivers/scsi/st.c:4512)\n\nRemove the index from the idr before dropping the reference, all under\nst_ref_mutex. A concurrent scsi_tape_get() now either runs first and\nholds a valid reference that keeps the tape alive, or runs afterwards\nand finds nothing, so st_open() fails with -ENXIO.\n\nThis restores the ordering st_remove() had before the conversion to\nst_index_idr, where the tape was unpublished from scsi_tapes[] before\nthe final kref_put().","state":0,"publishedAt":"2026-10-28T10:35:10.493+00:00","modifiedAt":"2026-10-30T12:42:22.579+00:00","affected":[{"ecosystem":"Vendor product","name":"Linux","ranges":[],"versions":[],"rawVersionEvidence":"{\n                    \"product\": \"Linux\",\n                    \"vendor\": \"Linux\",\n                    \"defaultStatus\": \"unaffected\",\n                    \"repo\": \"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\n                    \"programFiles\": [\n                        \"drivers/scsi/st.c\"\n                    ],\n                    \"versions\": [\n                        {\n                            \"version\": \"6c648d95a6af4a79241a916871df17c84c68ea20\",\n                            \"lessThan\": \"7d7f9d2ee4b0841f3eba9fa3627044ad329428de\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"6c648d95a6af4a79241a916871df17c84c68ea20\",\n                            \"lessThan\": \"d9517fc39ec3ee13eadefdc17f45300f7d23ed8c\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"6c648d95a6af4a79241a916871df17c84c68ea20\",\n                            \"lessThan\": \"e7a5da4a4820210aa7d7cd8e6eb25aabe9e5b5a7\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"6c648d95a6af4a79241a916871df17c84c68ea20\",\n                            \"lessThan\": \"00ff1128123d4bdfacd28d68fb4b6e6f657a3648\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"6c648d95a6af4a79241a916871df17c84c68ea20\",\n                            \"lessThan\": \"5ef230f734e0d23db007c8405f38b7e226740084\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"6c648d95a6af4a79241a916871df17c84c68ea20\",\n                            \"lessThan\": \"a1647b653549ff29f0422a63eabf329b842f3822\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"6c648d95a6af4a79241a916871df17c84c68ea20\",\n                            \"lessThan\": \"18a0e3733ce38718688e813e5e2d1106bd4830e5\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"6c648d95a6af4a79241a916871df17c84c68ea20\",\n                            \"lessThan\": \"71caf7f84bd62a4bf91cc95abd2de690afb8d15f\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        }\n                    ]\n                }"},{"ecosystem":"Vendor product","name":"Linux","ranges":[],"versions":[],"rawVersionEvidence":"{\n                    \"product\": \"Linux\",\n                    \"vendor\": \"Linux\",\n                    \"defaultStatus\": \"affected\",\n                    \"repo\": \"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\n                    \"programFiles\": [\n                        \"drivers/scsi/st.c\"\n                    ],\n                    \"versions\": [\n                        {\n                            \"version\": \"3.7\",\n                            \"status\": \"affected\"\n                        },\n                        {\n                            \"version\": \"0\",\n                            \"lessThan\": \"3.7\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"5.10.273\",\n                            \"lessThanOrEqual\": \"5.10.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"5.15.224\",\n                            \"lessThanOrEqual\": \"5.15.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"6.1.191\",\n                            \"lessThanOrEqual\": \"6.1.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"6.6.161\",\n                            \"lessThanOrEqual\": \"6.6.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"6.12.115\",\n                            \"lessThanOrEqual\": \"6.12.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"6.18.59\",\n                            \"lessThanOrEqual\": \"6.18.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"7.2.13\",\n                            \"lessThanOrEqual\": \"7.2.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"7.3\",\n                            \"lessThanOrEqual\": \"*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"original_commit_for_fix\"\n                        }\n                    ]\n                }"}],"metrics":[],"references":["https://git.kernel.org/stable/c/7d7f9d2ee4b0841f3eba9fa3627044ad329428de","https://git.kernel.org/stable/c/d9517fc39ec3ee13eadefdc17f45300f7d23ed8c","https://git.kernel.org/stable/c/e7a5da4a4820210aa7d7cd8e6eb25aabe9e5b5a7","https://git.kernel.org/stable/c/00ff1128123d4bdfacd28d68fb4b6e6f657a3648","https://git.kernel.org/stable/c/5ef230f734e0d23db007c8405f38b7e226740084","https://git.kernel.org/stable/c/a1647b653549ff29f0422a63eabf329b842f3822","https://git.kernel.org/stable/c/18a0e3733ce38718688e813e5e2d1106bd4830e5","https://git.kernel.org/stable/c/71caf7f84bd62a4bf91cc95abd2de690afb8d15f"],"sourceUrl":"https://www.cve.org/CVERecord?id=CVE-2026-99156","license":"CVE Program Terms of Use","key":"cve-program:CVE-2026-99156","identifiers":["CVE-2026-99156"]},"retained":false,"historicalAffected":[]}],"coverage":[]}