Executive brief
A resource management issue was identified in the Linux kernel's SCSI disk driver. When the system fails to add a new disk device, it may fail to properly release certain memory structures, leading to a memory leak. While this primarily affects system stability during hardware initialization or driver loading, it could theoretically be used to exhaust system resources over time.
Technical details
A reference counting bug exists in the sd_probe() function of the Linux kernel's SCSI subsystem (drivers/scsi/sd.c). When device_add(&sdkp->disk_dev) fails, the error path calls put_device(), which triggers scsi_disk_release() and frees the scsi_disk structure; however, it fails to call put_disk(gd), leaving the associated gendisk structure referenced and leaked. This is a local resource leak vulnerability. The fix introduces a missing put_disk(gd) call to ensure proper cleanup of the generic disk object when device registration fails.
Affected products
- Linux Linux Kernel All versions prior to the fix in May 2026
Timeline
- 2026-03-30: other: Patch submitted by Yang Xiuwei
- 2026-05-27: advisory: CVE-2026-45997 published
References
- https://git.kernel.org/stable/c/13e550fbfccdb311e76ec96892dfe35f0dba0657
- https://git.kernel.org/stable/c/1e111c4b3a726df1254670a5cc4868cedb946d37
- https://git.kernel.org/stable/c/262152ec37101f9dc524743ccdbd6c7641d14573
- https://git.kernel.org/stable/c/a95d38c5701431bfc826e7b18acc0785919d5c88
- https://git.kernel.org/stable/c/b64b4f499801b12d0e2785447e4df6c164c608a9