CVE-2025-2884
vulnerability analysis and mitigation

Overview

CVE-2025-2884 is an out-of-bounds (OOB) read vulnerability in the CryptHmacSign helper function of the TCG TPM 2.0 reference implementation. The flaw arises from insufficient validation of the signature scheme against the signing key's algorithm, allowing a mismatch between a KEYEDHASH key and an ECC or RSA scheme to trigger an out-of-bounds memory read. It was publicly disclosed on June 10, 2025, and is tracked under TCG advisory TCGVRT0009 / VRT0009, with the fix documented in Errata Revision 1.83 of the TPM 2.0 Library Specification. Affected products include AMD Ryzen firmware (fTPM), Infineon OPTIGA TPM SLB 9672/9673/9670/9665, Microsoft Windows 11 (22H2, 23H2, 24H2, 2H2) and Windows Server 2025/23H2, and any vendor implementation derived from the TCG reference code. The CVSS v3.1 base score is 6.6 (Medium) (CERT/CC VU#282450, Red Hat Advisory).

Technical details

The root cause is CWE-125 (Out-of-bounds Read): the CryptHmacSign function in the TCG TPM 2.0 reference implementation did not validate that the supplied signature scheme (inScheme) was consistent with the signing key's algorithm type before proceeding with HMAC computation. Specifically, when a TPM_ALG_KEYEDHASH key is paired with an ECC or RSA signature scheme, the function reads beyond the intended buffer boundary. The fix, implemented in the CryptSelectSignScheme function and a new CryptIsValidSignScheme helper, adds explicit checks to reject scheme/key-type mismatches and invalid hash algorithms before any signing operation proceeds (libtpms commit, CERT/CC VU#282450). Exploitation requires local access and the ability to send crafted commands to the TPM command interface; user interaction is also required per the CVSS vector (Red Hat Advisory).

Impact

Successful exploitation can result in unauthorized disclosure of sensitive data stored in or processed by the TPM (e.g., cryptographic keys, attestation data) or denial of service of the TPM itself, rendering TPM-dependent security functions (such as BitLocker, Secure Boot attestation, and vTPM operations) inoperable. The impact is local in scope and does not directly enable remote code execution, but exposure of TPM-held secrets could undermine platform integrity guarantees and facilitate further attacks. In virtualized environments using libtpms/swtpm, exploitation can abort the virtual TPM process, disrupting all VMs relying on it (CERT/CC VU#282450, Red Hat Advisory).

Exploitability

There is no public proof-of-concept exploit and no evidence of in-the-wild exploitation as of the time of this report (Feedly Intelligence). The EPSS score is approximately 0.018% (0.000180), indicating a very low probability of exploitation in the near term. The vulnerability is not listed in the CISA Known Exploited Vulnerabilities (KEV) catalog. Exploitation requires local access to the TPM command interface and some form of user interaction, limiting the practical attack surface to privileged local users or processes with TPM access (CERT/CC VU#282450).

Exploitation steps

  1. Gain local access: Obtain a local user account on a system with a vulnerable TPM 2.0 implementation (e.g., AMD fTPM on Ryzen 7000/8000/9000, Infineon OPTIGA TPM, or a Windows system with an unpatched fTPM).
  2. Access the TPM command interface: Use a TPM software stack (e.g., tpm2-tools on Linux, or Windows TPM APIs) to interact with the TPM command interface.
  3. Craft a malicious TPM2_Sign command: Construct a TPM2_Sign command that specifies a TPM_ALG_KEYEDHASH signing key handle but supplies an incompatible signature scheme (e.g., an ECC or RSA scheme such as TPM_ALG_ECDSA) in the inScheme parameter.
  4. Trigger the OOB read: Submit the crafted command to the TPM. The unpatched CryptHmacSign function will proceed without validating the scheme/key mismatch, causing an out-of-bounds read from TPM memory.
  5. Observe the impact: Depending on the implementation, the result may be a TPM abort/crash (denial of service) or leakage of adjacent TPM memory contents, potentially exposing sensitive cryptographic material (CERT/CC VU#282450, libtpms commit).

Indicators of compromise

  • Logs: Unexpected TPM error codes (e.g., TPM_RC_SCHEME) returned from TPM2_Sign commands; TPM abort or reset events logged in system event logs or kernel logs (e.g., dmesg entries referencing TPM failures or resets).
  • Process/System Behavior: Sudden unavailability of TPM-dependent services (BitLocker, vTPM, attestation); swtpm process crashes or unexpected termination in virtualized environments.
  • TPM Audit Logs: Repeated TPM2_Sign commands using a KEYEDHASH key handle paired with asymmetric signature schemes (ECC/RSA), which would be anomalous and inconsistent with normal TPM usage patterns.
  • Network (virtualized environments): Unexpected VM pauses or failures correlated with swtpm process termination on the hypervisor host.

Mitigation and workarounds

The TCG has released Errata Revision 1.83 of the TPM 2.0 Library Specification addressing this vulnerability, and vendors are urged to update their implementations accordingly. AMD has released AGESA 1.2.0.3e (and later) BIOS updates for Ryzen 7000/8000/9000 series CPUs with fTPM; users should apply BIOS updates from their motherboard manufacturer (Tom's Hardware). Microsoft addressed the vulnerability in Windows 11 and Windows Server 2025 via the October 2025 Patch Tuesday update (Microsoft MSRC). Infineon has released firmware updates for affected OPTIGA TPM products (SLB 9672/9673 before FW xx.24, SLB 9670 before FW 7.86, SLM/SLI 9670 before FW 13.16, SLB 9665 before FW 5.66). For libtpms/swtpm users, upgrading to libtpms 0.10.1 or applying the patch commit resolves the related CVE-2025-49133. Organizations should prioritize applying firmware and OS updates from their hardware and system vendors (CERT/CC VU#282450).

Community reactions

The vulnerability received broad coverage across security media and community forums following its June 10, 2025 disclosure. Security Online Info and Neowin highlighted the AMD fTPM impact, noting that AMD Ryzen 9000/8000/7000 CPUs required BIOS updates to address the flaw (Neowin). The Hacker News included the vulnerability in its weekly security recap. Community discussion on Reddit (r/MSI_Gaming, r/ASUS, r/tuxedocomputers) focused on BIOS update availability and timing from various motherboard vendors. The vulnerability was also noted in the context of Microsoft's October 2025 Patch Tuesday, where it was one of 172 vulnerabilities addressed (The Register). HPE, Siemens, Dell, and NetApp subsequently issued their own advisories referencing the TCG specification flaw.

Additional resources


SourceThis report was generated using AI

Free Vulnerability Assessment

Benchmark your Cloud Security Posture

Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.

Request assessment

Get a personalized demo

Ready to see Wiz in action?

"Best User Experience I have ever seen, provides full visibility to cloud workloads."
David EstlickCISO
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
Adam FletcherChief Security Officer
"We know that if Wiz identifies something as critical, it actually is."
Greg PoniatowskiHead of Threat and Vulnerability Management