What’s Vulnerable › Vulnerabilities
CVE-2026-89862: scsi: qla2xxx: Fix BSG job leak on validate flash image error path
- Severity: unknown
- Exploited in the wild: not listed in CISA KEV
- EPSS: 0.2% probability of exploitation in the next 30 days
- Public exploit or detection template: none known
- Published: 2026-09-16 · updated 2026-10-19
Description
In the Linux kernel, the following vulnerability has been resolved: scsi: qla2xxx: Fix BSG job leak on validate flash image error path qla28xx_validate_flash_image() returns QLA_SUCCESS (0) unconditionally, telling the FC BSG transport (fc_bsg_host_dispatch()) that the driver owns and will complete the request. But bsg_job_done() is guarded by "if (!rval)", so on the error path (rval == -EINVAL) neither the driver nor the transport completes the job. The request dangles until it times out, leaking block layer resources. Commit c2c68225b145 ("scsi: qla2xxx: Fix bsg_done() causing double free") added the "if (!rval)" guard to a batch of BSG handlers. That is correct for handlers that also return the error code (the transport then completes the job once via fail_host_msg), but this function returns QLA_SUCCESS unconditionally, so the guard turned a correct single completion into a leak. Always call bsg_job_done(): bsg_reply->result is DID_OK and the error is reported in vendor_rsp[0], and since the function returns 0 the transport will not complete the job a second time.
Affected products
- Linux kernel: from 5.10.251 before 5.11; from 5.15.201 before 5.16; from 6.1.164 before 6.2; from 6.6.127 before 6.7; from 6.12.74 before 6.13; from 6.18.13 before 6.19 — fixed in 5.11, 5.16, 6.13, 6.19, 6.2, 6.20
How to fix
Upgrade to a fixed version: Linux kernel 5.11, 5.16, 6.13, 6.19. Check the vendor advisory for mitigations.
References
- https://git.kernel.org/stable/c/0fb52cc632464b0cd07f970341330466d772efe1
- https://git.kernel.org/stable/c/e25241f9fa01fb0c088381a156d84a725b71c1ef
Get alerted when CVE-2026-89862 or the next vulnerability affects your stack