CVE-2026-85769
Libtpms: libtpms: heap out-of-bounds read in tpm2 state unmarshalling via unchecked block_skip_read() blocksize
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.
Attack profile
How easy it is to exploit
- Attack vector
- Adjacent network
- Complexity
- Low
- Privileges needed
- None
- User interaction
- None
What an attacker can affect
- Confidentiality
- None
- Integrity
- None
- Availability
- High
Exploit likelihood
What each source reports
CVE List Score used
6.5
Libtpms: libtpms: heap out-of-bounds read in tpm2 state unmarshalling via unchecked block_skip_read() blocksize
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.
- Record
CVE-2026-85769- CVSS 3.1
- 6.5 Medium
CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - Weakness
- CWE-125
- Updated
- 2026-11-06
EUVDEUVD-2026-71627
6.5
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.
- Record
EUVD-2026-71627- CVSS 3.1
- 6.5 Medium
CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - Updated
- 2026-11-06
GitHub AdvisoriesGHSA-8pv5-2vvh-f478
6.5
A flaw was found in libtpms, a library that provides software TPM 2.0 emulation. When restoring...
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.
- Record
GHSA-8pv5-2vvh-f478- CVSS 3.1
- 6.5 Medium
CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - Weakness
- CWE-125
- Updated
- 2026-11-02
NVD
6.5
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.
- Record
CVE-2026-85769- CVSS 3.1
- 6.5 Medium
CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - Weakness
- CWE-125
- Updated
- 2026-11-06
OSV
6.5
Libtpms: libtpms: heap out-of-bounds read in tpm2 state unmarshalling via unchecked block_skip_read() blocksize
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.
- Record
CVE-2026-85769- CVSS 3.1
- 6.5 Medium
CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - Weakness
- CWE-125
- Updated
- 2026-11-07
OSVDEBIAN-CVE-2026-85769
6.5
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.
- Record
DEBIAN-CVE-2026-85769- CVSS 3.1
- 6.5 Medium
CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - Updated
- 2026-11-02
Show 7 moreShow less
OSVUBUNTU-CVE-2026-85769
6.5
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.
- Record
UBUNTU-CVE-2026-85769- CVSS 3.1
- 6.5 Medium
CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - Updated
- 2026-11-02
OSVAZL-99918 No score
CVE-2026-85769 affecting package libtpms for versions less than 0.9.6-9
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.
- Record
AZL-99918- Updated
- 2026-11-05
OSVopenSUSE-SU-2026:11836-1 No score
libtpms-devel-0.10.2-2.1 on GA media
These are all security issues fixed in the libtpms-devel-0.10.2-2.1 package on the GA media of openSUSE Tumbleweed.
- Record
openSUSE-SU-2026:11836-1- Updated
- 2026-11-02
OSVSUSE-SU-2026:23878-1 No score
Security update for libtpms
This update for libtpms fixes the following issue:
- CVE-2026-85769: heap out-of-bounds read in TPM2 state unmarshalling via unchecked block_skip_read() blocksize (bsc#1279628).
- Record
SUSE-SU-2026:23878-1- Updated
- 2026-11-02
OSVSUSE-SU-2026:23926-1 No score
Security update for libtpms
This update for libtpms fixes the following issue:
- CVE-2026-85769: heap out-of-bounds read in TPM2 state unmarshalling via unchecked block_skip_read() blocksize (bsc#1279628).
- Record
SUSE-SU-2026:23926-1- Updated
- 2026-11-02
OSVSUSE-SU-2026:4278-1 No score
Security update for libtpms
This update for libtpms fixes the following issues:
- CVE-2025-49133: inconsistent parameter handling can cause out-of-bounds reads (bsc#1244528).
- CVE-2026-85769: heap out-of-bounds read in TPM2 state unmarshalling via unchecked block_skip_read() blocksize (bsc#1279628).
- Record
SUSE-SU-2026:4278-1- Updated
- 2026-11-02
OSVSUSE-SU-2026:4363-1 No score
Security update for libtpms
This update for libtpms fixes the following issue:
- CVE-2026-85769: heap out-of-bounds read in TPM2 state unmarshalling via unchecked block_skip_read() blocksize (bsc#1279628).
- Record
SUSE-SU-2026:4363-1- Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
libtpmsAzure Linux:3 |
before 0.9.6-9 | 0.9.6-9 |
libtpmsDebian:12 |
All versions, plus listed versions 0.10.1-10.10.1-20.10.2-10.10.2-20.10.2-3 Show 6 moreShow less0.10.2-40.10.2-50.9.2-3.10.9.2-3.1+deb12u10.9.2-3.20.9.2-3.2+hurd.1 |
None known |
libtpmsDebian:13 |
All versions, plus listed versions 0.10.1-10.10.1-20.10.2-10.10.2-20.10.2-3 Show 4 moreShow less0.10.2-40.10.2-50.9.2-3.20.9.2-3.2+hurd.1 |
None known |
libtpmsDebian:14 |
All versions, plus listed versions 0.10.1-10.10.1-20.10.2-10.10.2-20.10.2-3 Show 4 moreShow less0.10.2-40.10.2-50.9.2-3.20.9.2-3.2+hurd.1 |
None known |
libtpmsSUSE:Linux Micro 6.0 |
before 0.9.6-3.1 | 0.9.6-3.1 |
libtpmsSUSE:Linux Micro 6.1 |
before 0.9.6-slfo.1.1_3.1 | 0.9.6-slfo.1.1_3.1 |
libtpmsSUSE:Linux Enterprise Micro 5.3 From an advisory covering 2 CVEs |
before 0.8.2-150300.3.12.1 | 0.8.2-150300.3.12.1 |
libtpmsSUSE:Linux Enterprise Micro 5.4 From an advisory covering 2 CVEs |
before 0.8.2-150300.3.12.1 | 0.8.2-150300.3.12.1 |
libtpmsSUSE:Linux Enterprise Micro 5.5 From an advisory covering 2 CVEs |
before 0.8.2-150300.3.12.1 | 0.8.2-150300.3.12.1 |
libtpmsSUSE:Linux Enterprise Module for Server Applications 15 SP7 |
before 0.9.6-150600.3.6.1 | 0.9.6-150600.3.6.1 |
Show 5 moreShow less
| Package | Affected | Fixed |
|---|---|---|
libtpmsUbuntu:22.04:LTS |
All versions, plus listed versions 0.8.2-1ubuntu10.9.0-0ubuntu10.9.0-0ubuntu20.9.0-0ubuntu30.9.0-0ubuntu40.9.3-0ubuntu10.9.3-0ubuntu1.22.04.10.9.3-0ubuntu1.22.04.2 |
None known |
libtpmsUbuntu:24.04:LTS |
All versions, plus listed versions 0.9.3-0ubuntu20.9.3-0ubuntu30.9.3-0ubuntu40.9.3-0ubuntu4.24.04.1 |
None known |
libtpmsUbuntu:26.10 |
All versions, plus listed versions 0.10.2-2ubuntu10.10.2-2ubuntu20.10.2-5ubuntu1 |
None known |
libtpmsUbuntu:26.04:LTS |
All versions, plus listed versions 0.9.3-0ubuntu50.10.1-2ubuntu10.10.2-1ubuntu10.10.2-2ubuntu1 |
None known |
libtpmsopenSUSE:Tumbleweed |
before 0.10.2-2.1 | 0.10.2-2.1 |
Public exploits
Links only. Every CVE stores no exploit code.
| Source | Link | Date |
|---|---|---|
| PoC in GitHub | isukasanuj/CVE-2026-85769 | 2026-09-04 |
History
| Recorded | Changed | Sources |
|---|---|---|
| affected | CVE List, EUVD, NVD | |
| facts | OSV | |
| first indexed | CVE List, EUVD, GitHub Advisories, NVD, OSV, PoC in GitHub |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2026-85769 is a medium vulnerability (CVSS 6.5) in Red Hat Enterprise Linux 10, published September 4, 2026. Public exploit code exists. EPSS puts the chance of exploitation in the next 30 days at 0.42%, the 36th percentile. Fixed in libtpms 0.9.6-9.
References
access.redhat.com/security/cve/CVE-2026-85769
bugzilla.redhat.com/show_bug.cgi?id=2528538
github.com/stefanberger/libtpms/commit/b1462888180d896af03cae0487e8d45009cc445e
github.com/stefanberger/libtpms/issues/614
github.com/stefanberger/libtpms/pull/613
nvd.nist.gov/vuln/detail/CVE-2026-85769
Show 14 moreShow less
github.com/advisories/GHSA-8pv5-2vvh-f478
access.redhat.com/downloads/content/package-browser
github.com/CVEProject/cvelistV5/tree/main/cves/2026/85xxx/CVE-2026-85769.json
security-tracker.debian.org/tracker/CVE-2026-85769
suse.com/support/update/announcement/2026/suse-su-202623878-1
bugzilla.suse.com/1279628
suse.com/security/cve/CVE-2026-85769
suse.com/support/update/announcement/2026/suse-su-202623926-1
suse.com/support/update/announcement/2026/suse-su-20264278-1
bugzilla.suse.com/1244528
suse.com/security/cve/CVE-2025-49133
suse.com/support/update/announcement/2026/suse-su-20264363-1
ubuntu.com/security/CVE-2026-85769
cve.org/CVERecord?id=CVE-2026-85769