Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
ReconGain access to VM migration/snapshot channel
-
DeliveryCraft malformed TPM state blob with oversized skip-block length
-
ExploitSubmit blob during VM power-on or live migration
-
InstallSize counter driven negative in libtpms parser
-
C2UINT32 cast wraps value, bypassing bounds check
-
ExecuteOut-of-bounds heap read triggers crash
-
Impactswtpm process terminates, VM loses TPM device
Vulnerability Assessment
| Weakness |
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Bounds checking, read limits
MITRE ATT&CK
1 technique across 1 tactic: Collection The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires the ability to supply a malformed TPM state blob to the libtpms state-restore code path. This is triggered specifically during VM power-on from a saved state, snapshot restore, or live migration - not during normal runtime TPM operations. The attacker must be adjacent-network to the hypervisor (AV:A): in practice this means access to the management or migration network, or the ability to inject a crafted snapshot file onto the hypervisor's storage. No authentication to libtpms itself is required (PR:N), but reaching the vulnerable path requires positional access on the infrastructure side. Exploitation is limited to denial of service (swtpm crash, VM TPM loss); no code execution path or data leakage has been confirmed. |
| Impact | The CVSS vector AV:A/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H (score 6.5) is well-calibrated. The adjacent-network attack vector is the critical limiting factor: the attacker must be in a position to supply a crafted TPM state blob, which in practice means access to the VM migration channel, the hypervisor management plane, or the ability to provide a malicious snapshot file - not a trivially reachable network position. The low attack complexity and no-privilege requirement mean the technique itself is straightforward once the attacker has that positional access. Availability impact is high (swtpm process crash brings down virtual TPM for the VM), but confidentiality and integrity are explicitly confirmed unaffected by the vendor. No CISA KEV listing and no public exploit identified at time of analysis; EPSS data was not provided. Real-world priority is moderate for hypervisor operators running KVM with virtual TPM enabled: the impact is VM disruption rather than host compromise or data exfiltration. For environments without live migration or VM snapshotting exposed to untrusted parties, exploitability is further constrained. |
| Exploit ScenarioDerived | An attacker with access to the live-migration or snapshot-restore channel of a KVM/QEMU hypervisor crafts a TPM state blob with an oversized skip-block length field. When a target VM is powered on or migrated, libtpms parses the blob, the size counter wraps negative, and the swtpm process crashes, causing the VM to lose its TPM device and potentially halt. No public proof-of-concept has been identified, but the fix commit makes the bug straightforward to reconstruct for a researcher with access to a KVM+swtpm environment. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Sep 04, 2026
Heap out-of-bounds read in libtpms during TPM 2.0 state restoration allows an adjacent unauthenticated attacker to crash the swtpm process and deny TPM services to dependent virtual machines. The flaw arises in the state-blob parser: an attacker-controlled oversized skip-block length drives the internal INT32 size counter negative; subsequent bounds checks cast that counter to UINT32, wrapping it to a large positive value and bypassing the check, which then drives the parser to read memory outside the heap buffer. Vendor and upstream commit confirm the impact is denial of service only - no data corruption or information disclosure was confirmed. No public exploit or CISA KEV listing has been identified.
RemediationAI
Apply the upstream fix from commit b1462888180d896af03cae0487e8d45009cc445e in the libtpms repository. Red Hat will deliver patched packages for RHEL 8, 9, and 10 via the advisory at https://access.redhat.com/security/cve/CVE-2026-85769; operators should apply the relevant errata once published. No specific upstream release version incorporating the patch has been confirmed in the available references - monitor https://github.com/stefanberger/libtpms/releases. As a compensating control where patching is delayed, restricting access to the VM live-migration network and hypervisor management interfaces to trusted administrators reduces the pool of parties who can supply crafted TPM state blobs. Disabling virtual TPM (swtpm) for VMs that do not require it eliminates the attack surface entirely, at the cost of TPM-dependent features such as vTPM-backed disk encryption or Windows 11 attestation in those VMs.
Affects your stack
Find out whether the stacks and servers you run are on an affected version.
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
libtpms (github.com/stefanberger/libtpms) is a C library implementing software TPM 2.0 emulation, consumed by swtpm and through it by QEMU/KVM virtual machines needing a virtual TPM device. The state-restore path unmarshals a binary blob representing TPM internal state during VM power-on, snapshot restore, or live migration. CWE-125 (Out-of-bounds Read) describes the root cause: the Unmarshal.c parser uses a signed INT32 size counter that can be driven negative by an oversized block-length field, and then casts that negative value to UINT32 in subsequent size comparisons, wrapping it to a huge positive integer that always passes the bounds check. The upstream fix (commit b1462888180d896af03cae0487e8d45009cc445e) adds an explicit *size < 0 guard before the UINT32 cast in INT8_Unmarshal, UINT16_Unmarshal, UINT32_Unmarshal, UINT64_Unmarshal, and Array_Unmarshal, preventing the signed underflow from bypassing subsequent checks.
Know when Red Hat Enterprise Linux 10 gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
AV:A/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Adjacent vector because crafted state blob must be supplied during migration/restore; no auth to library required; impact is availability-only (confirmed by vendor).
AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
Primary rating from Vendor (redhat).
CVSS VectorVendor: redhat
DescriptionCVE.org
A flaw was found in libtpms, a library that provides software TPM 2.0 emulation. When restoring TPM 2.0 state (for example during a virtual machine's power-on or state/migration restore), a malformed state blob can supply an oversized skip-block length that is not validated against the remaining size of the input buffer. This can drive an internal size counter negative, which bypasses a subsequent bounds check due to an unsafe signed-to-unsigned conversion, causing the parser to read memory outside the bounds of the heap buffer holding the state data. Successful exploitation can crash the process hosting libtpms (such as swtpm), resulting in a denial of service of the emulated TPM device and the virtual machine that depends on it. No data corruption or information disclosure was confirmed.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
A buffer overflow occurs when a program writes more data to a memory buffer than it was allocated to hold, causing the excess data to spill into adjacent memory regions.
Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.
Affected Products (CPE)CVE.org
More in Red Hat Enterprise Linux 10
View allHeap corruption via double-free in 389-ds-base's LDAP control parsing allows an unauthenticated remote attacker to crash
Remote code execution in Cockpit's web interface allows unauthenticated attackers to execute arbitrary commands on the h
Remote code execution in Samba's printing subsystem allows remote attackers to inject arbitrary shell commands via craft
Ghostscript can execute arbitrary shell commands with the privileges of its process when it renders a crafted PostScript
Use-after-free in librsvg during rendering of crafted SVG documents with nested XInclude directives and duplicate entity
A signed integer overflow vulnerability exists in the libtiff library's putcontig8bitYCbCr44tile function that leads to
The system CA trust store shipped in Red Hat's ca-certificates RPM packages includes eMudhra root authorities that signe
Authentication bypass in 389 Directory Server (shipped as Red Hat Directory Server 11-13 and within RHEL 6-10) lets remo
Remote code execution and privilege escalation in HPLIP (HP Linux Imaging and Printing) affects the hpcups print filter
Unauthenticated privilege escalation in FreeIPA (Red Hat Identity Management) allows a remote attacker to gain genuine a
A heap buffer overflow exists in libsoup's WebSocket permessage-deflate compression path: when a very large outbound mes
Remote code execution in libarchive on 32-bit systems allows unauthenticated attackers to execute arbitrary code via spe
Same weakness CWE-125 – Out-of-bounds Read
View allSame technique Buffer Overflow
View allVendor StatusVendor
SUSE
Severity: Moderate| Product | Status |
|---|---|
| SUSE Linux Enterprise Micro 5.3 | Affected |
| SUSE Linux Enterprise Micro 5.4 | Affected |
| SUSE Linux Enterprise Micro 5.5 | Affected |
| SUSE Linux Enterprise Module for Server Applications 15 SP7 | Affected |
| SUSE Linux Enterprise Server 15 SP7 | Affected |
| SUSE Linux Enterprise Server 16.0 | Affected |
| SUSE Linux Enterprise Server 16.1 | Affected |
| SUSE Linux Enterprise Server for SAP Applications 15 SP7 | Affected |
| SUSE Linux Enterprise Server for SAP applications 16.0 | Affected |
| SUSE Linux Enterprise Server for SAP applications 16.1 | Affected |
| SUSE Linux Micro 6.0 | Affected |
| SUSE Linux Micro 6.1 | Affected |
| SUSE Linux Micro 6.2 | Affected |
| openSUSE Leap 16.0 | Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP4-LTSS | Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP5 | Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP5-LTSS | Affected |
| SUSE Linux Enterprise Module for Server Applications 15 SP4 | Affected |
| SUSE Linux Enterprise Module for Server Applications 15 SP5 | Affected |
| SUSE Linux Enterprise Module for Server Applications 15 SP6 | Affected |
| SUSE Linux Enterprise Server 15 SP4 | Affected |
| SUSE Linux Enterprise Server 15 SP4-LTSS | Affected |
| SUSE Linux Enterprise Server 15 SP5 | Affected |
| SUSE Linux Enterprise Server 15 SP5-LTSS | Affected |
| SUSE Linux Enterprise Server 15 SP6 | Affected |
| SUSE Linux Enterprise Server 15 SP6-LTSS | Affected |
| SUSE Linux Enterprise Server for SAP Applications 15 SP4 | Affected |
| SUSE Linux Enterprise Server for SAP Applications 15 SP5 | Affected |
| SUSE Linux Enterprise Server for SAP Applications 15 SP6 | Affected |
| SUSE Enterprise Storage 7.1 | Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP3 | Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP3-ESPOS | Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP3-LTSS | Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP4 | Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP4-ESPOS | Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP5-ESPOS | Affected |
| SUSE Linux Enterprise Micro 5.1 | Affected |
| SUSE Linux Enterprise Micro 5.2 | Affected |
| SUSE Linux Enterprise Module for Server Applications 15 SP3 | Affected |
| SUSE Linux Enterprise Real Time 15 SP3 | Affected |
| SUSE Linux Enterprise Real Time 15 SP4 | Affected |
| SUSE Linux Enterprise Server 15 SP3 | Affected |
| SUSE Linux Enterprise Server 15 SP3-BCL | Affected |
| SUSE Linux Enterprise Server 15 SP3-LTSS | Affected |
| SUSE Linux Enterprise Server for SAP Applications 15 SP3 | Affected |
| SUSE Manager Proxy 4.2 | Affected |
| SUSE Manager Proxy 4.3 | Affected |
| SUSE Manager Proxy LTS 4.3 | Affected |
| SUSE Manager Retail Branch Server 4.2 | Affected |
| SUSE Manager Retail Branch Server 4.3 | Affected |
| SUSE Manager Retail Branch Server LTS 4.3 | Affected |
| SUSE Manager Server 4.2 | Affected |
| SUSE Manager Server 4.3 | Affected |
| SUSE Manager Server LTS 4.3 | Affected |
| openSUSE Leap 15.3 | Affected |
| openSUSE Leap 15.4 | Affected |
| openSUSE Leap 15.5 | Affected |
| openSUSE Leap 15.6 | Affected |
| openSUSE Leap Micro 5.2 | Affected |
| openSUSE Leap Micro 5.3 | Affected |
| openSUSE Leap Micro 5.4 | Affected |
| openSUSE Leap Micro 5.5 | Affected |
EUVD-2026-71627
GHSA-8pv5-2vvh-f478
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB