Executive brief
A vulnerability in the Linux kernel's HiSilicon SAS (Serial Attached SCSI) driver can cause a system crash. This occurs when a user initiates a scan for new storage devices, triggering an internal error because the driver incorrectly reports the number of available communication channels. An attacker with local access could exploit this to cause a denial-of-service, impacting system availability and ongoing operations.
Technical details
A NULL pointer dereference exists in the hisi_sas driver within the Linux kernel's SCSI subsystem. The vulnerability is triggered during a user-initiated scan via user_scan(), which calls sas_user_scan(). Because the driver incorrectly initialized 'max_channel' to 1 instead of 0 for a single-channel controller, the kernel attempts to iteratively scan a non-existent second channel (channel 1). This leads to a NULL pointer dereference in sas_find_dev_by_rphy() when the kernel attempts to allocate a target for the invalid channel. The issue has been resolved by correctly setting max_channel to 0 in hisi_sas_main.c and hisi_sas_v3_hw.c.
Affected products
- Linux Linux Kernel 4.13 to 6.6.130, 6.7 to 6.12.78, 6.13 to 6.18.19, 6.19 to 6.19.9, 7.0-rc1 to 7.0-rc3
Timeline
- 2026-03-05: disclosed: Vulnerability reported and patch authored by Xingui Yang
- 2026-03-19: patched: Patch committed to stable tree by Greg Kroah-Hartman
- 2026-05-08: advisory: CVE-2026-43413 published
References
- https://git.kernel.org/stable/c/21a13db8d449b9c7eda4471da7f12417602dbbc7
- https://git.kernel.org/stable/c/40119a21d9769bf8fdab5c93c6c878296e628abf
- https://git.kernel.org/stable/c/70c78429ef383e35f9c58848994aeeac8083ae35
- https://git.kernel.org/stable/c/8ddc0c26916574395447ebf4cff684314f6873a9
- https://git.kernel.org/stable/c/beadac156610a4f3bb15cb7bb4b07b6ac06f6567