CVE-2026-74472

Source
https://cve.org/CVERecord?id=CVE-2026-74472
Import Source
https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-74472.json
JSON Data
https://api.osv.dev/v1/vulns/CVE-2026-74472
Downstream
Published
2026-08-15T12:27:08.759Z
Modified
2026-08-16T03:48:51.378348468Z
Summary
ublk: reset kernel-owned dev_info fields in ublk_ctrl_add_dev()
Details

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

ublk: reset kernel-owned devinfo fields in ublkctrladddev()

ublkctrladddev() memcpy()s the userspace ublksrvctrldevinfo into ub->devinfo and then fixes up the fields the driver owns, but misses ->state and ->ublksrvpid.

A device added with ->state = UBLKSDEVLIVE passes the "->state != UBLKSDEVDEAD" test that ublkstopdevunlocked() uses as its proxy for "a disk is attached", while ->ubdisk is still NULL, so DELDEV right after ADDDEV oopses in delgendisk(). UBLKSDEVQUIESCED plus UBLKFUSERRECOVERY dies one step earlier, in ublkforceabortdev(). A poisoned ->state also gets STARTUSERRECOVERY and the char device read/write path onto a device that was never started, and wedges STARTDEV at -EEXIST. A poisoned ->ublksrvpid just makes GETDEVINFO report an unrelated task as the ublk server.

Reset both after the memcpy(), as ublkdetachdisk() does. Userspace only ever reads these back, so correcting them silently breaks nothing.

ADDDEV has copied ->state in unsanitized since ublk was merged, but back then it was harmless: the gendisk was allocated during ADDDEV, and both teardown and the STARTDEV -EEXIST check keyed off disklive() rather than ->state. The oops became reachable once the disk allocation moved to START_DEV and those checks switched to ->state.

Database specific
{
    "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/74xxx/CVE-2026-74472.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
6d9e6dfdf3b207701471f364121c67eefb000682
Fixed
ee41b00858ca65b4428e99efe39a4277c1f043d2
Fixed
b67ce16b26ad0f14cfd6071013840aa95f823bea
Fixed
205feb72e5beb3140e4e1403b6cff30cf739bab9
Fixed
127033b79383a3e78361d7e971588aa8849f5124
Fixed
e65848e4ce352bac9e3465099354c8b8f845391f

Database specific

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

Linux / Kernel

Package

Name
Kernel

Affected ranges

Type
ECOSYSTEM
Events
Introduced
6.0.0
Fixed
6.6.151
Type
ECOSYSTEM
Events
Introduced
6.7.0
Fixed
6.12.103
Type
ECOSYSTEM
Events
Introduced
6.13.0
Fixed
6.18.44
Type
ECOSYSTEM
Events
Introduced
6.19.0
Fixed
7.1.8

Database specific

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