Every CVE Search/ Get API key

CVE-2026-85769

Libtpms: libtpms: heap out-of-bounds read in tpm2 state unmarshalling via unchecked block_skip_read() blocksize

6.5 MediumPublic exploitFix available

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

0.42%Up 0.1 points since Sep 5, 2026
90%50%10%1%

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 MediumCVSS: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 MediumCVSS: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 MediumCVSS: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 MediumCVSS: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 MediumCVSS: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 MediumCVSS: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 MediumCVSS: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

Affected packages
PackageAffectedFixed
libtpms
Azure Linux:3
before 0.9.6-9
0.9.6-9
libtpms
Debian: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 less
0.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
libtpms
Debian: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 less
0.10.2-40.10.2-50.9.2-3.20.9.2-3.2+hurd.1
None known
libtpms
Debian: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 less
0.10.2-40.10.2-50.9.2-3.20.9.2-3.2+hurd.1
None known
libtpms
SUSE:Linux Micro 6.0
before 0.9.6-3.1
0.9.6-3.1
libtpms
SUSE:Linux Micro 6.1
before 0.9.6-slfo.1.1_3.1
0.9.6-slfo.1.1_3.1
libtpms
SUSE: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
libtpms
SUSE: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
libtpms
SUSE: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
libtpms
SUSE: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
Affected packages
PackageAffectedFixed
libtpms
Ubuntu: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
libtpms
Ubuntu: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
libtpms
Ubuntu:26.10
All versions, plus listed versions
0.10.2-2ubuntu10.10.2-2ubuntu20.10.2-5ubuntu1
None known
libtpms
Ubuntu:26.04:LTS
All versions, plus listed versions
0.9.3-0ubuntu50.10.1-2ubuntu10.10.2-1ubuntu10.10.2-2ubuntu1
None known
libtpms
openSUSE:Tumbleweed
before 0.10.2-2.1
0.10.2-2.1

Public exploits

Links only. Every CVE stores no exploit code.

Public exploits
SourceLinkDate
PoC in GitHubisukasanuj/CVE-2026-857692026-09-04

History

History
RecordedChangedSources
affectedCVE List, EUVD, NVD
factsOSV
first indexedCVE 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

Show 14 moreShow less
MoveEnter Open