CVE Catalog

CVE-2026-99150

Low risk· EPSS 7%
Published: Updated: Translated: NVD NIST

Exploitation Probability (EPSS)

Low risk
0.17%

7th percentile - higher than 7% of all known CVEs

Summary

In the Linux kernel's drm/amdgpu driver, amdgpu_debugfs_gpr_read() drops its runtime PM reference right after reading the wave registers. When copying them to userspace fails, it jumps to the err label and drops the reference a second time, causing a runtime PM usage count underflow or stealing a reference held by someone else.

Risk Assessment

A double drop of the runtime PM reference can lead to undefined power management behavior and, in extreme cases, system instability or privilege escalation by a local user with debugfs access.

Recommendation

Update the Linux kernel to a version containing the fix (commit 31035bbd74f7c3e10c163db875b8e67f8b50ee6a). Until then, restrict access to amdgpu debugfs interfaces.

Other vulnerabilities in Linux kernel

See all
Original NVD description (English source)

In the Linux kernel, the following vulnerability has been resolved: drm/amdgpu: don't drop the runtime PM reference twice in amdgpu_gpr amdgpu_debugfs_gpr_read() drops its runtime PM reference right after reading the wave registers. When copying them to userspace fails, it jumps to the err label, which drops the reference a second time. A read into a bad buffer on Navi31 either steals a reference somebody else holds (power/runtime_usage goes from 1 to 0) or underflows the count: amdgpu 0000:03:00.0: Runtime PM usage count underflow! The registers are already in the kernel buffer at that point, so finish the hardware access first and copy the buffer with a single copy_to_user() instead of the put_user() loop with its own error path. (cherry picked from commit 31035bbd74f7c3e10c163db875b8e67f8b50ee6a)

Vulnerability data from NVD (NIST) · CISA KEV · EPSS