drm/amdgpu: validate GEM_CREATE domain combinations
- Published
- Last modified
- Where the record stands: published, rejected by its publisher, or superseded by another id.What do these mean? →
- published
- Whether CISA lists it in its Known Exploited Vulnerabilities catalog: proof that attackers are using it.What do these mean? →
- Not listed in CISA KEV
- Fix
- Fixed in 5.10.266, 5.15.217, 6.1.184, 6.6.153, 6.12.105, and 2 more
- Whether working attack code is public (Exploit-DB, Metasploit, Nuclei or GitHub). Public code makes attacks easier.What do these mean? →
- None on Exploit-DB, Metasploit or GitHub
- Exploitation: none
- Automatable: no
- Technical impact: total
Summary
In the Linux kernel, the following vulnerability has been resolved: drm/amdgpu: validate GEM_CREATE domain combinations AMDGPU_GEM_CREATE checked domain bits against AMDGPU_GEM_DOMAIN_MASK, but did not validate domain combinations. Userspace could combine CPU|GTT|VRAM with DOORBELL, GDS, GWS, or OA, making amdgpu_bo_placement_from_domain() exceed AMDGPU_BO_MAX_PLACEMENTS and hit BUG_ON(). Allow combinations only within CPU/GTT/VRAM, and require non-CPU/GTT/ VRAM domains to be specified one at a time. Return -EINVAL for invalid combinations in amdgpu_gem_create_ioctl(). v2: Rename helper from amdgpu_gem_domain_valid() to amdgpu_gem_are_domains_valid() (Christian) (cherry picked from commit db39852d0c39843cb02048dfb47e4b8c703e9080)
Timeline
- CVE published
- CISA SSVC assessment
Exploitation: none · Automatable: no · Technical impact: total
- Record last updated
Affected versions
- Linux Linux
From 77a2faa55c1a497f4e7e89eabd11830f0e3cb3dd · fixed in 5c73485af7ad9c3ae592db3481f370bc07705391; From 77a2faa55c1a497f4e7e89eabd11830f0e3cb3dd · fixed in 584e3d47736fe2e7184ef3fc16b00b41485f96c6; From 77a2faa55c1a497f4e7e89eabd11830f0e3cb3dd · fixed in 66133fc05c3af002f45de8a71b833c026ccbfba6; From 77a2faa55c1a497f4e7e89eabd11830f0e3cb3dd · fixed in ce5da474c3ddf7cccec5dce6aa4296297dd7caff; From 77a2faa55c1a497f4e7e89eabd11830f0e3cb3dd · fixed in 493355096e397f9217b41c8574ed2784c7351443; From 77a2faa55c1a497f4e7e89eabd11830f0e3cb3dd · fixed in 220aa2589d7321fb68d2e8597862711b5f22ae0b; From 77a2faa55c1a497f4e7e89eabd11830f0e3cb3dd · fixed in 80f0b53860d02577709d69a312a29ca674b9297c; From 77a2faa55c1a497f4e7e89eabd11830f0e3cb3dd · fixed in 5e9d136ad74df4edec67e502ce267597064d8f86
- Linux Linux
4.20
- KernelLinux
From 4.20.0 · fixed in 5.10.266; From 5.11.0 · fixed in 5.15.217; From 5.16.0 · fixed in 6.1.184; From 6.2.0 · fixed in 6.6.153; From 6.7.0 · fixed in 6.12.105; From 6.13.0 · fixed in 6.18.46; From 6.19.0 · fixed in 7.1.10
References 8
git.kernel.org
- stable/c/5c73485af7ad9c3ae592db3481f370bc07705391
- stable/c/584e3d47736fe2e7184ef3fc16b00b41485f96c6
- stable/c/66133fc05c3af002f45de8a71b833c026ccbfba6
- stable/c/ce5da474c3ddf7cccec5dce6aa4296297dd7caff
- stable/c/493355096e397f9217b41c8574ed2784c7351443
- stable/c/220aa2589d7321fb68d2e8597862711b5f22ae0b
- stable/c/80f0b53860d02577709d69a312a29ca674b9297c
- stable/c/5e9d136ad74df4edec67e502ce267597064d8f86