drm/amd/pm: fix pptable use-after-free
- 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 6.1.184, 6.6.153, 6.12.105, 6.18.46, 7.1.8
- 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/amd/pm: fix pptable use-after-free amdgpu_dpm_get_pp_table() returns a pointer to a driver-owned power table after dropping adev->pm.mutex. The sysfs path then copies from that pointer. A concurrent pp_table write can replace and free the allocation during the copy, causing a use-after-free. Change the DPM interface to copy into caller-provided storage while the mutex is held. Keep the size-only query for attribute discovery without exposing the driver-owned pointer. (cherry picked from commit f6eed7acfd30099ef7baeb6ba45bb59daad80631)
Timeline
- CVE published
- CISA SSVC assessment
Exploitation: none · Automatable: no · Technical impact: total
- Record last updated
Affected versions
- Linux Linux
From 1684d3ba488529266ce6f97b88076bd185f4790e · fixed in 3fbb3ac75000e3187f500a91a4099b24206866a1; From 1684d3ba488529266ce6f97b88076bd185f4790e · fixed in 9efc767335234cf7a892e46d45cd453b711421e7; From 1684d3ba488529266ce6f97b88076bd185f4790e · fixed in 81b5af1fb0f14cace6c3b3130a05e5602a597820; From 1684d3ba488529266ce6f97b88076bd185f4790e · fixed in 8c685df5c3b261c42505110965b42f9a754eb9b7; From 1684d3ba488529266ce6f97b88076bd185f4790e · fixed in b628f2c6feb3a115ea72d3120a2bd94afc5163df; From 1684d3ba488529266ce6f97b88076bd185f4790e · fixed in bb493058c35c8676e48269ab6732688ea733d23c
- Linux Linux
4.9
- KernelLinux
From 4.9.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.8