Cloudanix VulnDB

CVE-2025-22047

None

CVSS

—

EPSS

0.2%

Published

Apr 16, 2025

CISA due date

—

Cloudanix analysis

Schedule a fix SSVC: Track

A coding mistake in AMD processor update handling on Linux could let bad updates slip through without being rejected.

Exploitation
Local Privilege
Attacker needs
High Privilege
Complexity
Theoretical
Impact
Other
Component
OS kernel
Class
Improper Input Validation
Remediation
Upgrade
Effort
Medium
Patch risk
Low

What it actually does

Incorrect return value (-1 instead of false) from __apply_microcode_amd() when verify_sha256_digest() fails causes boolean promotion to treat failure as success, allowing invalid AMD microcode to be applied.

Why it matters to the business

Organizations running affected Linux kernels on AMD systems risk undetected loading of corrupted processor updates, which can cause instability, crashes, or weakened hardware protections without warning.

How an attack unfolds

An attacker or supply-chain actor provides microcode with an invalid SHA256 digest during kernel-initiated AMD microcode loading; the flawed return-value handling treats the failure as success and proceeds with the bad update.

How to fix it

Upgrade Linux kernel to a fixed version such as 6.6.87 or apply commit 763f4d638f71cb45235395790a46e9f9e84227fd; Red Hat Enterprise Linux 8 users should update libsoup packages to 0:2.62.3-6.el8_10.

How to confirm the fix worked

Confirm kernel version is at or above the listed fixed releases; inspect __apply_microcode_amd() source to verify it returns false on verify_sha256_digest() failure.

Typical attack path

  1. Target AMD x86 Linux system running vulnerable kernel
  2. Trigger or supply microcode update containing invalid digest
  3. verify_sha256_digest() correctly fails but __apply_microcode_amd() returns -1
  4. Kernel treats result as success and applies invalid microcode

How to detect it

Search kernel logs for microcode update attempts around the time of the flawed function; look for unexpected success messages following digest verification failures.

What your security team should do

  • Prioritize kernel upgrades on all AMD systems within standard change windows
  • Monitor vendor advisories for any backports to older stable branches
  • Review microcode loading logs after patching to ensure clean application

The record

In the Linux kernel, the following vulnerability has been resolved: x86/microcode/AMD: Fix __apply_microcode_amd()'s return value When verify_sha256_digest() fails, __apply_microcode_amd() should propagate the failure by returning false (and not -1 which is promoted to true).

Affected packages

Ecosystem Package Introduced Fixed
Debian:13 linux 0 No fix
Debian:13 linux 0 6.12.25-1
Linux Kernel 0 6.6.87
Mageia:9 kernel 0 6.6.88-3.mga9
Mageia:9 kernel-linus 0 6.6.88-1.mga9
Mageia:9 kmod-virtualbox 0 7.0.24-70.mga9
Mageia:9 kmod-xtables-addons 0 3.24-78.mga9
SUSE:Linux Enterprise High Availability Extension 15 SP6 kernel-default 0 6.4.0-150600.23.87.1
SUSE:Linux Enterprise Live Patching 15 SP6 kernel-default 0 6.4.0-150600.23.87.1
SUSE:Linux Enterprise Live Patching 15 SP6 kernel-livepatch-SLE15-SP6_Update_20 0 1-150600.13.3.1
SUSE:Linux Enterprise Server 15 SP6-LTSS kernel-64kb 0 6.4.0-150600.23.87.1
SUSE:Linux Enterprise Server 15 SP6-LTSS kernel-default 0 6.4.0-150600.23.87.1
SUSE:Linux Enterprise Server 15 SP6-LTSS kernel-default-base 0 6.4.0-150600.23.87.1.150600.12.40.1
SUSE:Linux Enterprise Server 15 SP6-LTSS kernel-docs 0 6.4.0-150600.23.87.1
SUSE:Linux Enterprise Server 15 SP6-LTSS kernel-obs-build 0 6.4.0-150600.23.87.1
SUSE:Linux Enterprise Server 15 SP6-LTSS kernel-source 0 6.4.0-150600.23.87.1
SUSE:Linux Enterprise Server 15 SP6-LTSS kernel-syms 0 6.4.0-150600.23.87.1
SUSE:Linux Enterprise Server 15 SP6-LTSS kernel-zfcpdump 0 6.4.0-150600.23.87.1
SUSE:Linux Enterprise Server for SAP Applications 15 SP6 kernel-default 0 6.4.0-150600.23.87.1
SUSE:Linux Enterprise Server for SAP Applications 15 SP6 kernel-default-base 0 6.4.0-150600.23.87.1.150600.12.40.1
SUSE:Linux Enterprise Server for SAP Applications 15 SP6 kernel-docs 0 6.4.0-150600.23.87.1
SUSE:Linux Enterprise Server for SAP Applications 15 SP6 kernel-obs-build 0 6.4.0-150600.23.87.1
SUSE:Linux Enterprise Server for SAP Applications 15 SP6 kernel-source 0 6.4.0-150600.23.87.1
SUSE:Linux Enterprise Server for SAP Applications 15 SP6 kernel-syms 0 6.4.0-150600.23.87.1
openSUSE:Leap 15.6 dtb-aarch64 0 6.4.0-150600.23.87.1
openSUSE:Leap 15.6 kernel-64kb 0 6.4.0-150600.23.87.1
openSUSE:Leap 15.6 kernel-debug 0 6.4.0-150600.23.87.1
openSUSE:Leap 15.6 kernel-default 0 6.4.0-150600.23.87.1
openSUSE:Leap 15.6 kernel-default-base 0 6.4.0-150600.23.87.1.150600.12.40.1
openSUSE:Leap 15.6 kernel-docs 0 6.4.0-150600.23.87.1
openSUSE:Leap 15.6 kernel-kvmsmall 0 6.4.0-150600.23.87.1
openSUSE:Leap 15.6 kernel-obs-build 0 6.4.0-150600.23.87.1
openSUSE:Leap 15.6 kernel-obs-qa 0 6.4.0-150600.23.87.1
openSUSE:Leap 15.6 kernel-source 0 6.4.0-150600.23.87.1
openSUSE:Leap 15.6 kernel-syms 0 6.4.0-150600.23.87.1
openSUSE:Leap 15.6 kernel-zfcpdump 0 6.4.0-150600.23.87.1

Related vulnerabilities