Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
ReconGain low-privilege local user access
-
DeliveryIdentify active swtpm socket on KVM host
-
ExploitCraft NVRAM header buffer sized to satisfy pointer-width guard
-
InstallSubmit malformed buffer to swtpm daemon
-
C2Bypass sizeof(bh) validation check
-
ExecuteTrigger 2-byte heap overread on totlen access
-
ImpactCrash daemon disrupting VM TPM services or leak heap data to log
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 a local user account with at least low-privilege access on the affected system (PR:L per CVSS vector). The attacker must have write access to the swtpm daemon's Unix domain socket, which in typical deployments is owned by the qemu or swtpm service user - a regular unprivileged user may not have access by default depending on socket permissions. The flaw is triggered by supplying a crafted NVRAM header buffer whose length is between sizeof(bh) (8 bytes on 64-bit) and sizeof(*bh) (the full struct size), causing the guard to pass while the subsequent totlen field access reads out of bounds. The availability impact (daemon crash) is explicitly described as platform-dependent and may not materialize on all RHEL configurations. Exploitation is limited to systems where the swtpm daemon is actively running, which applies only to virtualization hosts providing virtual TPM support to QEMU/KVM guests. |
| Impact | The CVSS 3.1 score of 6.1 (Medium) accurately reflects the constrained attack surface: local access is required (AV:L), low-privilege credentials suffice (PR:L), and complexity is low (AC:L). The high availability impact (A:H) is tempered by the description's qualifier that daemon termination is platform-dependent and may not occur on all systems. Confidentiality impact is low (C:L) because heap data leaks to system logs rather than being returned directly to the attacker, limiting the exploitability of any leaked content. EPSS data was not included in the provided intelligence, so exploitation probability cannot be quantified. No CISA KEV listing and no public POC have been identified, which collectively suggest this is not under active widespread exploitation. The primary operational risk is in KVM/QEMU virtualization hosts: a crashed swtpm daemon disrupts virtual TPM services for guest VMs, potentially affecting VM attestation, disk encryption key unsealing (e.g., fTPM-backed LUKS), and secure boot workflows. The local-only vector substantially limits the blast radius compared to network-exploitable flaws of similar CVSS score. |
| Exploit ScenarioDerived | A local user with a standard unprivileged account on an RHEL 8/9/10 KVM host crafts an NVRAM blob with a header buffer sized to match sizeof(bh) (8 bytes on 64-bit) - just enough to pass the flawed guard - and submits it to the swtpm daemon via its socket interface. The daemon reads 2 bytes past the allocated buffer when accessing the totlen field; on platforms where this triggers an access violation, the swtpm process terminates, disrupting TPM services for all VMs relying on it, and any heap contents at the overread address are written to the daemon's log. No public POC has been identified at time of analysis. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Aug 19, 2026
Heap overread in swtpm's SWTPM_NVRAM_CheckHeader() function allows local low-privileged users to crash the swtpm daemon and leak heap memory contents to system logs on Red Hat Enterprise Linux 8, 9, and 10. The root cause is a classic sizeof-pointer vs. sizeof-struct confusion: the guard compares buffer length against sizeof(bh) (pointer width, 8 bytes on 64-bit) rather than sizeof(*bh) (actual struct size), permitting undersized buffers to bypass validation and triggering a 2-byte heap overread on 64-bit systems or 6 bytes on 32-bit. No public exploit or CISA KEV listing has been identified at time of analysis.
RemediationAI
Monitor the Red Hat advisory at https://access.redhat.com/security/cve/CVE-2026-75900 for the official patched swtpm package - no exact fix version is confirmed in the available intelligence and none should be assumed. The upstream fix consists of correcting sizeof(bh) to sizeof(*bh) in SWTPM_NVRAM_CheckHeader(); once a patched RPM is released via RHEL errata, apply it through standard yum/dnf update channels. As an interim compensating control, restrict the swtpm Unix socket to only the QEMU process user via filesystem permissions (chmod 0600, chown to the qemu user), reducing the set of principals who can submit crafted NVRAM headers - note this does not eliminate the flaw if the QEMU process itself is compromised. In environments where virtual TPM support is not required, disabling swtpm service instances eliminates exposure entirely. Enabling SELinux in enforcing mode with the appropriate swtpm policy module limits socket access to authorized domains as an additional control layer.
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
swtpm is a software TPM 2.0 emulator daemon widely used in QEMU/KVM virtualization stacks to provide virtual Trusted Platform Module functionality to guest VMs. The vulnerability resides in SWTPM_NVRAM_CheckHeader(), the function responsible for validating NVRAM blob headers before processing. CWE-125 (Out-of-Bounds Read) is the root cause class: the guard expression uses sizeof(bh) where bh is a pointer variable, yielding the pointer's own width (8 bytes on LP64 systems) rather than sizeof(*bh), the size of the actual bh struct. Any caller supplying a buffer shorter than the real struct but at least as long as a pointer passes validation. The subsequent dereference of the totlen field then reads 2 bytes beyond the allocated heap region on 64-bit systems (6 bytes on 32-bit). Affected products per CPE are cpe:2.3:a:red_hat:red_hat_enterprise_linux_8, cpe:2.3:a:red_hat:red_hat_enterprise_linux_9, and cpe:2.3:a:red_hat:red_hat_enterprise_linux_10.
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:L/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:H
Local socket access and low-privilege account required; heap leak goes to log not attacker; daemon crash drives high availability impact.
Primary rating from Vendor (redhat).
CVSS VectorVendor: redhat
DescriptionCVE.org
An out-of-bounds read vulnerability was found in swtpm's SWTPM_NVRAM_CheckHeader() function. The entry guard checks the buffer length against sizeof(bh), where bh is a pointer, instead of sizeof(*bh), the actual struct size. This allows an undersized buffer to pass validation, causing a 2-byte heap overread on 64-bit systems (6 bytes on 32-bit) when accessing the totlen field. This may cause daemon termination on some platforms and leaks heap data to the log.
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.
Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.
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
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
Unauthenticated path traversal in gvproxy, the network forwarder shipped in the gvisor-tap-vsock package (used by Podman
HTTP request smuggling in Undertow (the embedded web server underpinning JBoss EAP, Red Hat Data Grid, and Apache Camel
HTTP request smuggling in Red Hat Undertow allows remote unauthenticated attackers to bypass front-end security controls
Same weakness CWE-125 – Out-of-bounds Read
View allSame technique Buffer Overflow
View allVendor StatusVendor
SUSE
Severity: Moderate| Product | Status |
|---|---|
| SUSE Linux Enterprise High Performance Computing 15 SP7 | Affected |
| 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 Manager Proxy 4.3 | Affected |
| SUSE Manager Proxy LTS 4.3 | Affected |
| SUSE Manager Retail Branch Server 4.3 | Affected |
| SUSE Manager Retail Branch Server LTS 4.3 | Affected |
| SUSE Manager Server 4.3 | Affected |
| SUSE Manager Server LTS 4.3 | 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 High Performance Computing 15 SP6 | 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 Retail Branch Server 4.2 | Affected |
| SUSE Manager Server 4.2 | 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 |
| suse/sles/15.3/virt-launcher:0.45.0 suse/sles/15.4/virt-launcher:0.49.0 suse/sles/15.5/virt-launcher:0.58.0 suse/sles/15.6/virt-launcher:1.1.1 suse/sles/15.7/virt-launcher:1.5.0 | Affected |
EUVD-2026-62363
GHSA-gqrg-h59c-j4wj
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB