Database/Kernel, userspace & hypervisor
Linux kernel SCSI bsg: TOCTOU on the shared io_uring SQE overflows the SCSI command buffer
Impact
scsi_bsg_uring_cmd() reads the bsg_uring_cmd structure straight out of the mmap'd io_uring submission queue entry, which userspace can still write. request_len is validated and then re-read at use time, so it can grow past sizeof(scmd->cmnd) between the bound check and the copy_from_user(), overflowing the SCSI command buffer inside the kernel. That is a controlled kernel heap/stack write reachable from whoever holds the bsg device, which is a straightforward local privilege escalation primitive. On a GPU node that matters wherever SCSI passthrough is handed to a container for storage tooling or enclosure management - a container escape there takes the whole node and every co-tenant pod on it.
Who can reach it
Local. A process that can open a /dev/bsg/* device and submit io_uring passthrough commands - normally root or a container granted that device node. No authentication over the network.
What to do
Take the stable kernel fix that READ_ONCE()s the SQE fields into locals before checking and using them (commits 4b3c5965fca9, f033530105aa). Requires installing the patched kernel and rebooting each node; drain GPU workloads first. Until then, do not expose /dev/bsg/* into containers and keep SCSI generic passthrough restricted to trusted host tooling.
References
Related entries
- Linux kernel bsg: sense data copy ignores max_response_len and overruns the user bufferCVE-2026-90010 · Linux kernel SCSI bsg (io_uring sense copy)High
- Linux kernel page allocator: unsafe spin_trylock in NMI context on uniprocessor buildsCVE-2026-90046 · Linux kernel mm/page_alloc (free_pages_nolock in NMI on UP builds)High
- Linux kernel virtio-gpu: unvalidated EDID block offset lets a malicious backend read past a kernel bufferCVE-2026-68255 · Linux kernel drm/virtio (virtio_get_edid_block response bounds)High
- Linux kernel (drivers/pci): The option-ROM parser trusts the header and data-structure offsets it reads out of theCVE-2026-72487 · Linux kernel (drivers/pci)High
- Xen qemu-xen-traditional device model hw/pt-msi.c (MSI-X passthrough): Buffer overflow on the MSI-X table write pathCVE-2015-8554 · Xen qemu-xen-traditional device model hw/pt-msi.c (MSI-X passthrough)High
- Linux kernel RDS net/rds/recv.c - rds_inc_info_copy: A structure member is left uninitialised before the RDS messageCVE-2016-5244 · Linux kernel RDS net/rds/recv.c - rds_inc_info_copyHigh
This entry is curated: imported from vendor advisories with machine assistance, not yet individually verified. Confirm against your vendor's advisory before acting, and report anything wrong.