Cloudanix VulnDB

CVE-2025-21784

None

CVSS

—

EPSS

0.2%

Published

Feb 27, 2025

CISA due date

—

Cloudanix analysis

Schedule a fix SSVC: Track

A bug in Linux graphics drivers for AMD cards can let the system read or write the wrong memory when a small firmware file is missing, potentially causing crashes that require urgent kernel updates to prevent.

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

What it actually does

Failure to check firmware load result in psp_init_cap_microcode() leads to subsequent invalid memory access in the AMD GPU PSP driver.

Why it matters to the business

Linux systems with AMD GPUs may experience kernel crashes or memory corruption; organizations running affected kernels face unplanned downtime and must prioritize kernel updates across fleets.

How an attack unfolds

An attacker with local access triggers the AMD PSP firmware initialization path under conditions where firmware loading fails, causing the driver to dereference uninitialized or invalid memory and resulting in kernel-level memory corruption.

How to fix it

Update the Linux kernel to a version containing commit 3f40a7ff39d9f1d283d5aa9b13e2fb16200aff5f or later; rebuild and deploy the updated kernel across all affected systems.

How to confirm the fix worked

Verify the running kernel contains commit 3f40a7ff39d9f1d283d5aa9b13e2fb16200aff5f; inspect dmesg or kernel logs for the added bail-out path in psp_init_cap_microcode during driver initialization.

Typical attack path

  1. Obtain local code execution on a Linux system with an AMD GPU
  2. Trigger or wait for AMD PSP microcode initialization during driver load or reset
  3. Cause firmware load to fail (e.g., via missing or corrupted firmware files)
  4. Trigger invalid memory access leading to crash or corruption

How to detect it

Review kernel logs and dmesg for amdgpu PSP initialization failures or invalid memory access oops around driver load; correlate with boot-time firmware load attempts on AMD hardware.

What your security team should do

  • Immediately identify all systems running vulnerable kernels and schedule kernel updates
  • Prioritize patching on multi-tenant or high-value AMD GPU hosts
  • Monitor for kernel oops or panic events related to amdgpu/psp during boot or reset

The record

In the Linux kernel, the following vulnerability has been resolved: drm/amdgpu: bail out when failed to load fw in psp_init_cap_microcode() In function psp_init_cap_microcode(), it should bail out when failed to load firmware, otherwise it may cause invalid memory access.

Affected packages

Ecosystem Package Introduced Fixed
Debian:13 linux 0 No fix
Debian:13 linux 0 6.12.16-1
Linux Kernel 6.3.0 6.6.79
SUSE:Linux Enterprise High Availability Extension 15 SP6 kernel-default 0 6.4.0-150600.23.47.2
SUSE:Linux Enterprise Live Patching 15 SP6 kernel-default 0 6.4.0-150600.23.47.2
SUSE:Linux Enterprise Live Patching 15 SP6 kernel-livepatch-SLE15-SP6-RT_Update_10 0 1-150600.1.5.1
SUSE:Linux Enterprise Live Patching 15 SP6 kernel-livepatch-SLE15-SP6_Update_10 0 1-150600.13.5.1
SUSE:Linux Enterprise Module for Basesystem 15 SP6 kernel-64kb 0 6.4.0-150600.23.47.2
SUSE:Linux Enterprise Module for Basesystem 15 SP6 kernel-default 0 6.4.0-150600.23.47.2
SUSE:Linux Enterprise Module for Basesystem 15 SP6 kernel-default-base 0 6.4.0-150600.23.47.2.150600.12.20.2
SUSE:Linux Enterprise Module for Basesystem 15 SP6 kernel-source 0 6.4.0-150600.23.47.2
SUSE:Linux Enterprise Module for Basesystem 15 SP6 kernel-zfcpdump 0 6.4.0-150600.23.47.2
SUSE:Linux Enterprise Module for Confidential Computing Technical Preview 15 SP6 kernel-coco 0 6.4.0-15061.21.coco15sp6.1
SUSE:Linux Enterprise Module for Confidential Computing Technical Preview 15 SP6 kernel-coco_debug 0 6.4.0-15061.21.coco15sp6.1
SUSE:Linux Enterprise Module for Confidential Computing Technical Preview 15 SP6 kernel-source-coco 0 6.4.0-15061.21.coco15sp6.1
SUSE:Linux Enterprise Module for Confidential Computing Technical Preview 15 SP6 kernel-syms-coco 0 6.4.0-15061.21.coco15sp6.1
SUSE:Linux Enterprise Module for Development Tools 15 SP6 kernel-docs 0 6.4.0-150600.23.47.1
SUSE:Linux Enterprise Module for Development Tools 15 SP6 kernel-obs-build 0 6.4.0-150600.23.47.1
SUSE:Linux Enterprise Module for Development Tools 15 SP6 kernel-source 0 6.4.0-150600.23.47.2
SUSE:Linux Enterprise Module for Development Tools 15 SP6 kernel-syms 0 6.4.0-150600.23.47.1
SUSE:Linux Enterprise Module for Legacy 15 SP6 kernel-default 0 6.4.0-150600.23.47.2
SUSE:Linux Enterprise Module for Public Cloud 15 SP6 kernel-azure 0 6.4.0-150600.8.34.2
SUSE:Linux Enterprise Module for Public Cloud 15 SP6 kernel-source-azure 0 6.4.0-150600.8.34.2
SUSE:Linux Enterprise Module for Public Cloud 15 SP6 kernel-syms-azure 0 6.4.0-150600.8.34.1
SUSE:Linux Enterprise Workstation Extension 15 SP6 kernel-default 0 6.4.0-150600.23.47.2
SUSE:Real Time Module 15 SP6 kernel-rt 0 6.4.0-150600.10.34.1
SUSE:Real Time Module 15 SP6 kernel-rt_debug 0 6.4.0-150600.10.34.1
SUSE:Real Time Module 15 SP6 kernel-source-rt 0 6.4.0-150600.10.34.1
SUSE:Real Time Module 15 SP6 kernel-syms-rt 0 6.4.0-150600.10.34.1
Ubuntu:24.10 linux-aws 0 6.11.0-1014.15
openSUSE:Leap 15.6 dtb-aarch64 0 6.4.0-150600.23.47.1
openSUSE:Leap 15.6 kernel-64kb 0 6.4.0-150600.23.47.2
openSUSE:Leap 15.6 kernel-azure 0 6.4.0-150600.8.34.2
openSUSE:Leap 15.6 kernel-debug 0 6.4.0-150600.23.47.2
openSUSE:Leap 15.6 kernel-default 0 6.4.0-150600.23.47.2
openSUSE:Leap 15.6 kernel-default-base 0 6.4.0-150600.23.47.2.150600.12.20.2
openSUSE:Leap 15.6 kernel-docs 0 6.4.0-150600.23.47.1
openSUSE:Leap 15.6 kernel-kvmsmall 0 6.4.0-150600.23.47.2
openSUSE:Leap 15.6 kernel-obs-build 0 6.4.0-150600.23.47.1
openSUSE:Leap 15.6 kernel-obs-qa 0 6.4.0-150600.23.47.1
openSUSE:Leap 15.6 kernel-rt 0 6.4.0-150600.10.34.1
openSUSE:Leap 15.6 kernel-rt_debug 0 6.4.0-150600.10.34.1
openSUSE:Leap 15.6 kernel-source 0 6.4.0-150600.23.47.2
openSUSE:Leap 15.6 kernel-source-azure 0 6.4.0-150600.8.34.2
openSUSE:Leap 15.6 kernel-source-rt 0 6.4.0-150600.10.34.1
openSUSE:Leap 15.6 kernel-syms 0 6.4.0-150600.23.47.1
openSUSE:Leap 15.6 kernel-syms-azure 0 6.4.0-150600.8.34.1
openSUSE:Leap 15.6 kernel-syms-rt 0 6.4.0-150600.10.34.1
openSUSE:Leap 15.6 kernel-zfcpdump 0 6.4.0-150600.23.47.2

Related vulnerabilities