CVE-2026-85769

Source
https://cve.org/CVERecord?id=CVE-2026-85769
Import Source
https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-85769.json
JSON Data
https://api.osv.dev/v1/vulns/CVE-2026-85769
Downstream
Published
2026-09-04T17:48:13.674Z
Modified
2026-09-06T08:01:49.102653Z
Severity
  • 6.5 (Medium) CVSS_V3 - CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H CVSS Calculator
Summary
Libtpms: libtpms: heap out-of-bounds read in tpm2 state unmarshalling via unchecked block_skip_read() blocksize
Details

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.

Database specific
{
    "cwe_ids": [
        "CWE-125"
    ],
    "cna_assigner": "redhat",
    "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/85xxx/CVE-2026-85769.json"
}
References

Affected packages

Git / github.com/stefanberger/libtpms

Affected ranges

Type
GIT
Repo
https://github.com/stefanberger/libtpms
Events
Introduced
0 Unknown introduced commit / All previous commits are affected
Fixed
Database specific
Show details
{
    "source": "REFERENCES"
}

Affected versions

v0.*
v0.10.0
v0.10.0-rc1
v0.5.2
v0.5.2.1
v0.6.0
v0.7.0
v0.8.0
v0.9.0

Database specific

vanir_signatures
[
    {
        "target": {
            "file": "src/tpm2/Unmarshal.c",
            "function": "UINT32_Unmarshal"
        },
        "deprecated": false,
        "id": "CVE-2026-85769-1356d930",
        "signature_version": "v1",
        "digest": {
            "function_hash": "279080787081028498765974443216146663671",
            "length": 415.0
        },
        "signature_type": "Function",
        "source": "https://github.com/stefanberger/libtpms/commit/b1462888180d896af03cae0487e8d45009cc445e"
    },
    {
        "target": {
            "file": "src/tpm2/Unmarshal.c",
            "function": "UINT16_Unmarshal"
        },
        "deprecated": false,
        "id": "CVE-2026-85769-567c411f",
        "signature_version": "v1",
        "digest": {
            "function_hash": "284523269460489083121580326938326894718",
            "length": 327.0
        },
        "signature_type": "Function",
        "source": "https://github.com/stefanberger/libtpms/commit/b1462888180d896af03cae0487e8d45009cc445e"
    },
    {
        "target": {
            "file": "src/tpm2/Unmarshal.c"
        },
        "deprecated": false,
        "id": "CVE-2026-85769-822e73ed",
        "signature_version": "v1",
        "digest": {
            "line_hashes": [
                "315561662242091888687959170271146824663",
                "137206300319244451629581098257034315577",
                "264578740392950301104144891967301777963",
                "211654430878983624121745681156605889932",
                "126901643468087640541776862234378473986",
                "267351955034851440341714342727240503194",
                "34738119143138240164809953369434958074",
                "263112025650735922549284356336026101330",
                "5231612574847561659579655638223573684",
                "296982961363121665095102134890911585628",
                "258201422207183659620783115664313976170",
                "119068148132331796080111290458284540729",
                "144450979782956409166666022606677899218",
                "81249336956815058210151915764006199547",
                "168661948060044779628237158110552441161",
                "77717600273811383705656408733597381407",
                "116661108789144015925208647160687298821",
                "54270045816094338784935491467328305529",
                "181185947841850241193671229149249106292",
                "73246327567834950734628453010265457250"
            ],
            "threshold": 0.9
        },
        "signature_type": "Line",
        "source": "https://github.com/stefanberger/libtpms/commit/b1462888180d896af03cae0487e8d45009cc445e"
    },
    {
        "target": {
            "file": "src/tpm2/Unmarshal.c",
            "function": "Array_Unmarshal"
        },
        "deprecated": false,
        "id": "CVE-2026-85769-9dd40734",
        "signature_version": "v1",
        "digest": {
            "function_hash": "63274566804066839128759473250416365151",
            "length": 267.0
        },
        "signature_type": "Function",
        "source": "https://github.com/stefanberger/libtpms/commit/b1462888180d896af03cae0487e8d45009cc445e"
    },
    {
        "target": {
            "file": "src/tpm2/Unmarshal.c",
            "function": "UINT64_Unmarshal"
        },
        "deprecated": false,
        "id": "CVE-2026-85769-b70b1e17",
        "signature_version": "v1",
        "digest": {
            "function_hash": "114196117590292410480503359851058815970",
            "length": 591.0
        },
        "signature_type": "Function",
        "source": "https://github.com/stefanberger/libtpms/commit/b1462888180d896af03cae0487e8d45009cc445e"
    },
    {
        "target": {
            "file": "src/tpm2/Unmarshal.c",
            "function": "UINT8_Unmarshal"
        },
        "deprecated": false,
        "id": "CVE-2026-85769-f29411f7",
        "signature_version": "v1",
        "digest": {
            "function_hash": "6536749258385948336480718609789292233",
            "length": 261.0
        },
        "signature_type": "Function",
        "source": "https://github.com/stefanberger/libtpms/commit/b1462888180d896af03cae0487e8d45009cc445e"
    }
]
source
"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-85769.json"
vanir_signatures_modified
"2026-09-06T08:01:49Z"