CVE-2026-72086: scsi: xen: scsiback: Free the command tag on the TMR submit-failure path
Greg Kroah-Hartman <[email protected]>
| Newsgroups | org.kernel.vger.linux-cve-announce |
|---|---|
| Message-ID | <2026081522-CVE-2026-72086-b22d@gregkh> |
From: Greg Kroah-Hartman <[email protected]> Description =========== In the Linux kernel, the following vulnerability has been resolved: scsi: xen: scsiback: Free the command tag on the TMR submit-failure path scsiback_device_action() obtains a command tag in scsiback_get_pend_req() and submits a task-management request with target_submit_tmr(). When target_submit_tmr() fails it returns < 0 and scsiback jumps to the err: label, which sends a response but frees nothing, leaking the tag. Impact: a pvSCSI guest can leak the command tags of a LUN's session, stopping the LUN, by issuing VSCSIIF_ACT_SCSI_ABORT or RESET requests whenever target_submit_tmr() fails. transport_generic_free_cmd() cannot be used here. By the time target_submit_tmr() returns an error it has already run __target_init_cmd() (so se_cmd->cmd_kref is one, not zero), and on its target_get_sess_cmd() error path it has freed se_cmd->se_tmr_req via core_tmr_release_req() while leaving SCF_SCSI_TMR_CDB set and the pointer dangling. Letting the command release run target_free_cmd_mem() would then double-free se_tmr_req. Use the same helper, which returns just the tag, on this path too. The Linux kernel CVE team has assigned CVE-2026-72086 to this issue. Affected and fixed versions =========================== Issue introduced in 4.6 with commit 2dbcdf33dbf61f44b29adb52338282c3d7840d0e and fixed in 5.15.212 with commit 4567ce79fe2f84c3dcc3a91b22a377cf482d33ad Issue introduced in 4.6 with commit 2dbcdf33dbf61f44b29adb52338282c3d7840d0e and fixed in 6.1.178 with commit 6c01f0439098f00a64b246dc27479602201382f7 Issue introduced in 4.6 with commit 2dbcdf33dbf61f44b29adb52338282c3d7840d0e and fixed in 6.6.145 with commit 18d4f86816592586b38513543b5e1f9553bc271f Issue introduced in 4.6 with commit 2dbcdf33dbf61f44b29adb52338282c3d7840d0e and fixed in 6.12.97 with commit fbc1bdede66d0f2cde83b75d6524ce1a815bb69f Issue introduced in 4.6 with commit 2dbcdf33dbf61f44b29adb52338282c3d7840d0e and fixed in 6.18.40 with commit 255fb7b0cdc947b1c01929c7f133281342a3a6b5 Issue introduced in 4.6 with commit 2dbcdf33dbf61f44b29adb52338282c3d7840d0e and fixed in 7.1.5 with commit 1357fb32d42ad8da193e6da285f09e6452feabda Issue introduced in 4.6 with commit 2dbcdf33dbf61f44b29adb52338282c3d7840d0e and fixed in 7.2-rc4 with commit 66aefc277ebb796ec285d550305535dc3fc0179f Please see https://www.kernel.org for a full list of currently supported kernel versions by the kernel community. Unaffected versions might change over time as fixes are backported to older supported kernel versions. The official CVE entry at https://cve.org/CVERecord/?id=CVE-2026-72086 will be updated if fixes are backported, please check that for the most up to date information about this issue. Affected files ============== The file(s) affected by this issue are: drivers/xen/xen-scsiback.c Mitigation ========== The Linux kernel CVE team recommends that you update to the latest stable kernel version for this, and many other bugfixes. Individual changes are never tested alone, but rather are part of a larger kernel release. Cherry-picking individual commits is not recommended or supported by the Linux kernel community at all. If however, updating to the latest release is impossible, the individual changes to resolve this issue can be found at these commits: https://git.kernel.org/stable/c/4567ce79fe2f84c3dcc3a91b22a377cf482d33ad https://git.kernel.org/stable/c/6c01f0439098f00a64b246dc27479602201382f7 https://git.kernel.org/stable/c/18d4f86816592586b38513543b5e1f9553bc271f https://git.kernel.org/stable/c/fbc1bdede66d0f2cde83b75d6524ce1a815bb69f https://git.kernel.org/stable/c/255fb7b0cdc947b1c01929c7f133281342a3a6b5 https://git.kernel.org/stable/c/1357fb32d42ad8da193e6da285f09e6452feabda https://git.kernel.org/stable/c/66aefc277ebb796ec285d550305535dc3fc0179f