Skip to content
Heist/ feed
Back to feed
Medium

libtpms — security advisory

Type: advisorySources: OSVAdvisory ID: UBUNTU-CVE-2026-85769

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.

Products
libtpms
Affected versions
0.10.1-2ubuntu1, 0.10.2-1ubuntu1, 0.10.2-2ubuntu1, 0.10.2-2ubuntu2, 0.10.2-5ubuntu1, 0.8.2-1ubuntu1, 0.9.0-0ubuntu1, 0.9.0-0ubuntu2, 0.9.0-0ubuntu3, 0.9.0-0ubuntu4, 0.9.3-0ubuntu1, 0.9.3-0ubuntu1.22.04.1, 0.9.3-0ubuntu1.22.04.2, 0.9.3-0ubuntu2, 0.9.3-0ubuntu3, 0.9.3-0ubuntu4, 0.9.3-0ubuntu4.24.04.1, 0.9.3-0ubuntu5
Fixed versions
Not specified
CVEs
CVE-2026-85769
Confirmed fixed CVEs
Not specified
Updated in this feed
31 Oct 2026, 03:24 UTC · Revision 1

Source evidence

UBUNTU-CVE-2026-85769

core-osv · Original source

Published 4 Sept 2026, 18:18 UTC

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.

osv:UBUNTU-CVE-2026-85769

libtpms

Fixed versions: Not specified

libtpms

Fixed versions: Not specified

libtpms

Fixed versions: Not specified

libtpms

Fixed versions: Not specified

Complete source record
{
  "id": "c69f2d84da899cecb6c35998b34b3b74bbb5096130431f5e23f46373bd1c92fd",
  "url": "https://osv.dev/vulnerability/UBUNTU-CVE-2026-85769",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "UBUNTU-CVE-2026-85769",
    "summary": "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.",
    "evidence": "osv:UBUNTU-CVE-2026-85769",
    "products": [
      {
        "name": {
          "value": "libtpms",
          "evidence": "/affected/0/package/name"
        },
        "prerequisites": [],
        "fixed_versions": [],
        "affected_versions": [
          {
            "value": "0.8.2-1ubuntu1",
            "evidence": "/affected/0/versions"
          },
          {
            "value": "0.9.0-0ubuntu1",
            "evidence": "/affected/0/versions"
          },
          {
            "value": "0.9.0-0ubuntu2",
            "evidence": "/affected/0/versions"
          },
          {
            "value": "0.9.0-0ubuntu3",
            "evidence": "/affected/0/versions"
          },
          {
            "value": "0.9.0-0ubuntu4",
            "evidence": "/affected/0/versions"
          },
          {
            "value": "0.9.3-0ubuntu1",
            "evidence": "/affected/0/versions"
          },
          {
            "value": "0.9.3-0ubuntu1.22.04.1",
            "evidence": "/affected/0/versions"
          },
          {
            "value": "0.9.3-0ubuntu1.22.04.2",
            "evidence": "/affected/0/versions"
          }
        ]
      },
      {
        "name": {
          "value": "libtpms",
          "evidence": "/affected/1/package/name"
        },
        "prerequisites": [],
        "fixed_versions": [],
        "affected_versions": [
          {
            "value": "0.9.3-0ubuntu2",
            "evidence": "/affected/1/versions"
          },
          {
            "value": "0.9.3-0ubuntu3",
            "evidence": "/affected/1/versions"
          },
          {
            "value": "0.9.3-0ubuntu4",
            "evidence": "/affected/1/versions"
          },
          {
            "value": "0.9.3-0ubuntu4.24.04.1",
            "evidence": "/affected/1/versions"
          }
        ]
      },
      {
        "name": {
          "value": "libtpms",
          "evidence": "/affected/2/package/name"
        },
        "prerequisites": [],
        "fixed_versions": [],
        "affected_versions": [
          {
            "value": "0.10.2-2ubuntu1",
            "evidence": "/affected/2/versions"
          },
          {
            "value": "0.10.2-2ubuntu2",
            "evidence": "/affected/2/versions"
          },
          {
            "value": "0.10.2-5ubuntu1",
            "evidence": "/affected/2/versions"
          }
        ]
      },
      {
        "name": {
          "value": "libtpms",
          "evidence": "/affected/3/package/name"
        },
        "prerequisites": [],
        "fixed_versions": [],
        "affected_versions": [
          {
            "value": "0.9.3-0ubuntu5",
            "evidence": "/affected/3/versions"
          },
          {
            "value": "0.10.1-2ubuntu1",
            "evidence": "/affected/3/versions"
          },
          {
            "value": "0.10.2-1ubuntu1",
            "evidence": "/affected/3/versions"
          },
          {
            "value": "0.10.2-2ubuntu1",
            "evidence": "/affected/3/versions"
          }
        ]
      }
    ],
    "severity": "medium",
    "structured": {
      "id": "UBUNTU-CVE-2026-85769",
      "aliases": [
        "UBUNTU-CVE-2026-85769"
      ],
      "metrics": [
        {
          "type": "CVSS_V3",
          "score": "CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"
        },
        {
          "type": "Ubuntu",
          "score": "medium"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "type": "ECOSYSTEM",
              "events": [
                {
                  "introduced": "0"
                }
              ]
            }
          ],
          "package": {
            "name": "libtpms",
            "purl": "pkg:deb/ubuntu/libtpms?arch=source&distro=jammy",
            "ecosystem": "Ubuntu:22.04:LTS"
          },
          "versions": [
            "0.8.2-1ubuntu1",
            "0.9.0-0ubuntu1",
            "0.9.0-0ubuntu2",
            "0.9.0-0ubuntu3",
            "0.9.0-0ubuntu4",
            "0.9.3-0ubuntu1",
            "0.9.3-0ubuntu1.22.04.1",
            "0.9.3-0ubuntu1.22.04.2"
          ],
          "database_specific": {
            "source": "https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-85769.json"
          },
          "ecosystem_specific": {
            "binaries": [
              {
                "binary_name": "libtpms0",
                "binary_version": "0.9.3-0ubuntu1.22.04.2"
              }
            ]
          }
        },
        {
          "ranges": [
            {
              "type": "ECOSYSTEM",
              "events": [
                {
                  "introduced": "0"
                }
              ]
            }
          ],
          "package": {
            "name": "libtpms",
            "purl": "pkg:deb/ubuntu/libtpms?arch=source&distro=noble",
            "ecosystem": "Ubuntu:24.04:LTS"
          },
          "versions": [
            "0.9.3-0ubuntu2",
            "0.9.3-0ubuntu3",
            "0.9.3-0ubuntu4",
            "0.9.3-0ubuntu4.24.04.1"
          ],
          "database_specific": {
            "source": "https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-85769.json"
          },
          "ecosystem_specific": {
            "binaries": [
              {
                "binary_name": "libtpms0",
                "binary_version": "0.9.3-0ubuntu4.24.04.1"
              }
            ]
          }
        },
        {
          "ranges": [
            {
              "type": "ECOSYSTEM",
              "events": [
                {
                  "introduced": "0"
                }
              ]
            }
          ],
          "package": {
            "name": "libtpms",
            "purl": "pkg:deb/ubuntu/libtpms?arch=source&distro=stonking",
            "ecosystem": "Ubuntu:26.10"
          },
          "versions": [
            "0.10.2-2ubuntu1",
            "0.10.2-2ubuntu2",
            "0.10.2-5ubuntu1"
          ],
          "database_specific": {
            "source": "https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-85769.json"
          },
          "ecosystem_specific": {
            "binaries": [
              {
                "binary_name": "libtpms0",
                "binary_version": "0.10.2-5ubuntu1"
              }
            ]
          }
        },
        {
          "ranges": [
            {
              "type": "ECOSYSTEM",
              "events": [
                {
                  "introduced": "0"
                }
              ]
            }
          ],
          "package": {
            "name": "libtpms",
            "purl": "pkg:deb/ubuntu/libtpms?arch=source&distro=resolute",
            "ecosystem": "Ubuntu:26.04:LTS"
          },
          "versions": [
            "0.9.3-0ubuntu5",
            "0.10.1-2ubuntu1",
            "0.10.2-1ubuntu1",
            "0.10.2-2ubuntu1"
          ],
          "database_specific": {
            "source": "https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-85769.json"
          },
          "ecosystem_specific": {
            "binaries": [
              {
                "binary_name": "libtpms0",
                "binary_version": "0.10.2-2ubuntu1"
              }
            ]
          }
        }
      ],
      "modified": "2026-10-17T13:01:14.193347839Z",
      "provider": "osv",
      "upstream": [
        "CVE-2026-85769"
      ],
      "references": [
        "https://ubuntu.com/security/CVE-2026-85769",
        "https://www.cve.org/CVERecord?id=CVE-2026-85769",
        "https://bugzilla.redhat.com/show_bug.cgi?id=2528538",
        "https://github.com/stefanberger/libtpms/issues/614"
      ]
    },
    "related_cves": [
      {
        "value": "CVE-2026-85769",
        "evidence": "/upstream"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 361336,
  "published_at": "2026-09-04T18:18:00+00:00"
}