Cloudanix VulnDB

CVE-2023-53628

Medium · 5.5

CVSS

5.5

EPSS

0.2%

Published

Oct 7, 2025

CISA due date

—

Cloudanix analysis

Schedule a fix SSVC: Track

A graphics driver bug can make computers using certain AMD video cards crash when the system tries to reset or turn off the graphics hardware.

Exploitation
Local Privilege
Attacker needs
Low Privilege
Complexity
Low
Impact
Denial Of Service
Component
OS kernel
Class
Other
Remediation
Upgrade
Effort
Medium
Patch risk
Low

What it actually does

The flaw leaves a retired ECC error interrupt handler registered on GFX11 hardware; amdgpu_irq_put is still called during gfx_v11_0_hw_fini, producing a kernel call trace and failing the suspend/reset path.

Why it matters to the business

Workstations and servers using recent AMD GPUs can experience forced reboots or failed recovery during power events, causing unplanned downtime; high downstream package counts amplify patch urgency across distributions.

How an attack unfolds

An attacker with local privileges triggers a GPU reset or suspend (via debugfs, power management, or application crash), causing the driver to execute the buggy hw_fini path and produce a denial-of-service condition.

How to fix it

Upgrade the Linux kernel to a version containing the fix; for Blazer (RubyGems) consumers update to version 2.6.0.

How to confirm the fix worked

Confirm the GFX11 CP ECC error IRQ handler definition is removed and that amdgpu_gfx_ras_late_init checks cp_ecc_error_irq.funcs before registration; test suspend/reset cycles on GFX11 hardware.

Typical attack path

  1. Obtain local user access on a system with affected AMDGPU hardware
  2. Trigger device suspend, reset, or recovery via power management or debug interface
  3. Execute gfx_v11_0_hw_fini which calls amdgpu_irq_put on the retired handler
  4. Observe kernel call trace and resulting availability impact

How to detect it

Search kernel logs for the exact call trace beginning with gfx_v11_0_hw_fini and containing amdgpu_irq_put on cp_ecc_error_irq; correlate with amdgpu_device_gpu_recover entries.

  • gfx_v11_0_hw_fini+0x23/0x1e0 [amdgpu]
  • amdgpu_irq_put.*cp_ecc_error_irq
  • amdgpu_device_pre_asic_reset.*amdgpu_device_gpu_recover

What your security team should do

  • Apply kernel updates immediately on all GFX11 systems given the published date and availability impact
  • Monitor for repeated amdgpu call traces during suspend or reset operations
  • Prioritize patching in environments with high Blazer (RubyGems) dependency counts

The record

In the Linux kernel, the following vulnerability has been resolved: drm/amdgpu: drop gfx_v11_0_cp_ecc_error_irq_funcs The gfx.cp_ecc_error_irq is retired in gfx11. In gfx_v11_0_hw_fini still use amdgpu_irq_put to disable this interrupt, which caused the call trace in this function. [ 102.873958] Call Trace: [ 102.873959] <TASK> [ 102.873961] gfx_v11_0_hw_fini+0x23/0x1e0 [amdgpu] [ 102.874019] gfx_v11_0_suspend+0xe/0x20 [amdgpu] [ 102.874072] amdgpu_device_ip_suspend_phase2+0x240/0x460 [amdgpu] [ 102.874122] amdgpu_device_ip_suspend+0x3d/0x80 [amdgpu] [ 102.874172] amdgpu_device_pre_asic_reset+0xd9/0x490 [amdgpu] [ 102.874223] amdgpu_device_gpu_recover.cold+0x548/0xce6 [amdgpu] [ 102.874321] amdgpu_debugfs_reset_work+0x4c/0x70 [amdgpu] [ 102.874375] process_one_work+0x21f/0x3f0 [ 102.874377] worker_thread+0x200/0x3e0 [ 102.874378] ? process_one_work+0x3f0/0x3f0 [ 102.874379] kthread+0xfd/0x130 [ 102.874380] ? kthread_complete_and_exit+0x20/0x20 [ 102.874381] ret_from_fork+0x22/0x30 v2: - Handle umc and gfx ras cases in separated patch - Retired the gfx_v11_0_cp_ecc_error_irq_funcs in gfx11 v3: - Improve the subject and code comments - Add judgment on gfx11 in the function of amdgpu_gfx_ras_late_init v4: - Drop the define of CP_ME1_PIPE_INST_ADDR_INTERVAL and SET_ECC_ME_PIPE_STATE which using in gfx_v11_0_set_cp_ecc_error_state - Check cp_ecc_error_irq.funcs rather than ip version for a more sustainable life v5: - Simplify judgment conditions

Affected packages

Ecosystem Package Introduced Fixed
Linux Kernel 0 6.1.30
Linux Kernel 6.3.0 6.3.3

Related vulnerabilities