CVE-2026-72085

Source
https://cve.org/CVERecord?id=CVE-2026-72085
Import Source
https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-72085.json
JSON Data
https://api.osv.dev/v1/vulns/CVE-2026-72085
Downstream
Published
2026-08-15T05:52:33.521Z
Modified
2026-08-18T03:56:37.065865598Z
Severity
  • 9.3 (Critical) CVSS_V3 - CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H CVSS Calculator
Summary
scsi: xen: scsiback: Free unsubmitted command instead of double-putting it
Details

In the Linux kernel, the following vulnerability has been resolved:

scsi: xen: scsiback: Free unsubmitted command instead of double-putting it

scsibackgetpendreq() obtains a command tag and returns a vscsibkpend whose embedded secmd has only been memset to 0, so its cmdkref is 0; the secmd is initialised (krefinit() via targetinitcmd()) only later, in scsibackcmdexec(), on the successful VSCSIIFACTSCSICDB path. The two error paths in scsibackdocmdfn() taken before the command is submitted -- a failed scsibackgnttabdatamap() and an unknown ringreq.act -- call transportgenericfreecmd(&pendingreq->secmd, 0), which krefput()s a refcount of 0. That underflows it ("refcount_t: underflow; use-after-free") and, as the release function is not run, leaks the command tag.

Impact: a pvSCSI guest can leak every command tag of a LUN's session, stopping the LUN, by submitting requests with a bad grant reference or an unknown request type; under paniconwarn the refcount underflow panics the host.

Add a helper that just returns the tag with targetfreetag() and sends the error response. It frees the tag while the v2p reference still pins the session, and snapshots the response fields beforehand because freeing the tag can let another ring reuse the pending_req slot.

Database specific
{
    "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/72xxx/CVE-2026-72085.json",
    "cna_assigner": "Linux"
}
References

Affected packages

Git / git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git

Affected ranges

Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
2dbcdf33dbf61f44b29adb52338282c3d7840d0e
Fixed
9c0f6894982b1f13bda220707497b25ac9c95bdb
Fixed
a13b789497a7fdd27d4d63f5c69d23db706ef0fe
Fixed
fa588f28401102652068c4cc75e135507f4b5106
Fixed
fcd64d4d97af5d9736f31040f8ed8cd4c17e4c45
Fixed
f1516c56ac540da1769f264c3cfefe4499548a5d
Fixed
1e97c404e44991fb087c38ccd7414f2d326f9b74
Fixed
ca978f8a93d4d36841839bf2847d29b88c2591d6

Database specific

source
"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-72085.json"

Linux / Kernel

Package

Name
Kernel

Affected ranges

Type
ECOSYSTEM
Events
Introduced
4.6.0
Fixed
5.15.212
Type
ECOSYSTEM
Events
Introduced
5.16.0
Fixed
6.1.178
Type
ECOSYSTEM
Events
Introduced
6.2.0
Fixed
6.6.145
Type
ECOSYSTEM
Events
Introduced
6.7.0
Fixed
6.12.97
Type
ECOSYSTEM
Events
Introduced
6.13.0
Fixed
6.18.40
Type
ECOSYSTEM
Events
Introduced
6.19.0
Fixed
7.1.5

Database specific

source
"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-72085.json"