drm/amdgpu: check ras and obj before dereference
- 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.6.158, 6.12.112, 6.18.54, 7.2.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
Summary
In the Linux kernel, the following vulnerability has been resolved: drm/amdgpu: check ras and obj before dereference nbio_v7_9_handle_ras_controller_intr_no_bifring() dereferences ras and obj without checking either for NULL. Both amdgpu_ras_get_context() and amdgpu_ras_find_obj() can return NULL, e.g. during the window between adev->nbio.ras being set (early in amdgpu_ras_init(), by design, to enable the fatal-error interrupt as soon as possible) and the PCIE_BIF ras object actually being created in RAS late_init. Any interrupt in that window crashes in hard-IRQ context. This is analogous to commit d190b459b2a4 ("drm/amdgpu: the warning dereferencing obj for nbio_v7_4"), which fixed the same issue in the nbio_v7_4 handler. Found by Linux Verification Center (linuxtesting.org) with SVACE. (cherry picked from commit c7071767a50a32ed727cf800ac84372429e3b4b3)
Timeline
- CVE published
- Record last updated
Affected versions
- Linux Linux
From 7692e1ee2446fd1940b5caa6e09779504a58881a · fixed in b7c7f07a40037514f8e890aa00f8d7b196d680cf; From 7692e1ee2446fd1940b5caa6e09779504a58881a · fixed in fc5f845a291fc8175e6857cd6ad042818da192e8; From 7692e1ee2446fd1940b5caa6e09779504a58881a · fixed in 37583946d8751f8e285c467d770ac0b609b82a23; From 7692e1ee2446fd1940b5caa6e09779504a58881a · fixed in 315c22712715491f0dfafdaf2c2b437540e68702; From 7692e1ee2446fd1940b5caa6e09779504a58881a · fixed in 723d4dc628d764b19cf9efca14b82cca5ff020c9
- Linux Linux
6.6
- KernelLinux
From 6.6.0 · fixed in 6.6.158; From 6.7.0 · fixed in 6.12.112; From 6.13.0 · fixed in 6.18.54; From 6.19.0 · fixed in 7.2.8