Bug 2517910 (CVE-2026-75900) - CVE-2026-75900 swtpm: swtpm: Out-of-bounds read in SWTPM_NVRAM_CheckHeader due to sizeof(pointer) vs sizeof(struct) mismatch
Summary: CVE-2026-75900 swtpm: swtpm: Out-of-bounds read in SWTPM_NVRAM_CheckHeader du...
Keywords:
Status: NEW
Alias: CVE-2026-75900
Product: Security Response
Classification: Other
Component: vulnerability
Version: unspecified
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Product Security
QA Contact:
URL:
Whiteboard:
Depends On: 2519414
Blocks:
TreeView+ depends on / blocked
 
Reported: 2026-08-18 14:47 UTC by OSIDB Bzimport
Modified: 2026-08-19 07:39 UTC (History)
3 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed:
Embargoed:


Attachments (Terms of Use)

Description OSIDB Bzimport 2026-08-18 14:47:05 UTC
A flaw was found in swtpm. The SWTPM_NVRAM_CheckHeader() function in src/swtpm/swtpm_nvstore.c validates the caller-supplied buffer length against sizeof(bh), where bh is a blobheader pointer. Because sizeof(bh) evaluates to the pointer size (8 bytes on 64-bit, 4 on 32-bit) rather than the struct size (10 bytes for the packed blobheader), an undersized buffer passes the entry guard. The subsequent access to bh->totlen at offset 6 reads 4 bytes, overreading the allocation by 2 bytes on 64-bit systems (6 bytes on 32-bit). On 64-bit systems with glibc, the overread typically hits allocator padding and the function returns an error without crashing. On 32-bit systems or with non-glibc allocators, daemon termination is possible, causing denial of service to the associated VM. In both cases, the out-of-bounds totlen value is logged, leaking a small amount of adjacent heap data. The control channel attack path requires no encryption keys. The fix is to change sizeof(bh) to sizeof(*bh).


Note You need to log in before you can comment on or make changes to this bug.