CVE-2023-22745 json
Buffer Overlow in TSS2_RC_Decode in tpm2-tss
published 2023-01-19 3 y ago modified 2026-06-17 4 mo ago also EUVD-2023-26863
- cvss
- 6.4
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.5%
- EPSS 0.5% chance of exploitation in 30 days, percentile 45%
- public exploits
- 0
- none known
Summary
tpm2-tss is an open source software implementation of the Trusted Computing Group (TCG) Trusted Platform Module (TPM) 2 Software Stack (TSS2). In versions prior to 4.1.0-rc0, 4.0.1, and 3.2.2-rc1, `Tss2_RC_SetHandler` and `Tss2_RC_Decode` both index into `layer_handler` with an 8 bit layer number, but the array only has `TPM2_ERROR_TSS2_RC_LAYER_COUNT` entries, so trying to add a handler for higher-numbered layers or decode a response code with such a layer number reads/writes past the end of the buffer. This Buffer overrun, could result in arbitrary code execution. An example attack would be a MiTM bus attack that returns 0xFFFFFFFF for the RC. Given the common use case of TPM modules an attacker must have local access to the target machine with local system privileges which allows access to the TPM system. Usually TPM access requires administrative privilege. Versions 4.1.0-rc0, 4.0.1, and 3.2.2-rc1 fix the issue.
Patch / fix
- tpm2_software_stack_project tpm2_software_stack 3.2.2, 4.1.0
- tpm2-tss Debian 14, Debian 13, Debian 12 3.2.1-3
debian advisories DEBIAN-CVE-2023-22745
- tpm2-tss Ubuntu 20.04 LTS 2.3.2-1ubuntu0.20.04.2
- tpm2-tss Ubuntu 22.04 LTS 3.2.0-1ubuntu1.1
ubuntu advisories UBUNTU-CVE-2023-22745
Ubuntu security data © Canonical Ltd., from https://github.com/canonical/ubuntu-security-notices via OSV; changed: normalised to fixed package versions per release. CC BY-SA 4.0
- tpm2-tss RHEL 8 2.3.2-5.el8
- tpm2-tss RHEL 9 3.2.2-2.el9
- tpm2-tss RHEL 8.8 EUS 2.3.2-5.el8_8
- tpm2-tss RHEL 8.6 TUS, RHEL 8.6 E4S, RHEL 8.6 AUS 2.3.2-5.el8_6
red hat advisories RHSA-2024:4739RHSA-2024:4408RHSA-2023:7166RHSA-2023:6685
- tpm2-0-tss SLE Real Time 15 SP3, openSUSE Leap 15.4 2.4.5-150300.3.6.1
- tpm2-0-tss SLE Module for Basesystem 15 SP4, SLE Micro 5.3, openSUSE Leap Micro 5.3 +1 more 3.1.0-150400.3.3.1
suse advisories SUSE-SU-2023:0613-1SUSE-SU-2023:0526-1
- tpm2-tss AlmaLinux 8 2.3.2-5.el8
- tpm2-tss AlmaLinux 9 3.2.2-2.el9
almalinux advisories ALSA-2023:7166ALSA-2023:6685
- tpm2-tss CBL-Mariner 2.0 2.4.6-2
- tpm2-tss Azure Linux 3.0 4.0.1-1
azure linux advisories AZL-13055AZL-69129
Azure Linux vulnerability data, Copyright (c) Microsoft Corporation, from https://github.com/microsoft/AzureLinuxVulnerabilityData via OSV, under the MIT licence; changed: normalised to fixed package versions per release. MIT
Vendor advisories
What the vendors themselves say about their products: affected, fixed or not affected, and what to do.
red hat product security vex CVE-2023-22745 updated cvss 6.4
tpm2-tss: Buffer Overlow in TSS2_RC_Decode
-
Red Hat Enterprise Linux 7 tpm2-tss, tpm2-tss-utilsaffected: no fix planned “Out of support scope”
-
Red Hat CodeReady Linux Builder (v. 9) tpm2-tss-devel 3.2.2-2.el9, tpm2-tss-debuginfo 3.2.2-2.el9, tpm2-tss-debugsource 3.2.2-2.el9fixed: vendor fix RHSA-2023:6685
-
Red Hat Enterprise Linux BaseOS (v. 8) tpm2-tss 2.3.2-5.el8fixed: vendor fix RHSA-2023:7166
-
Red Hat Enterprise Linux BaseOS (v. 9) tpm2-tss 3.2.2-2.el9fixed: vendor fix RHSA-2023:6685
-
Red Hat Enterprise Linux BaseOS AUS (v.8.6) tpm2-tss 2.3.2-5.el8_6 Red Hat Enterprise Linux BaseOS E4S (v.8.6) tpm2-tss 2.3.2-5.el8_6fixed: vendor fix RHSA-2024:4408
-
Red Hat Enterprise Linux BaseOS EUS (v.8.8) tpm2-tss 2.3.2-5.el8_8fixed: vendor fix RHSA-2024:4739
-
Red Hat Enterprise Linux BaseOS TUS (v.8.6) tpm2-tss 2.3.2-5.el8_6fixed: vendor fix RHSA-2024:4408
Red Hat CSAF VEX © Red Hat, Inc., from https://security.access.redhat.com/data/csaf/v2/vex/; changed: reduced to product statuses and remediations. CC BY 4.0 · csaf
cisa ICSA-24-046-11 updated cvss 6.4
Siemens SCALANCE XCM-/XRM-300
-
Siemens SCALANCE XCH328 (6GK5328-4TS01-2EC2) <V2.4 Siemens SCALANCE XCM324 (6GK5324-8TS01-2AC2) <V2.4 Siemens SCALANCE XCM328 (6GK5328-4TS01-2AC2) <V2.4 Siemens SCALANCE XCM332 (6GK5332-0GA01-2AC2) <V2.4 Siemens SCALANCE XRH334 (24 V DC, 8xFO, CC) (6GK5334-2TS01-2ER3) <V2.4 Siemens SCALANCE XRM334 (2x230 V AC, 8xFO) (6GK5334-2TS01-4AR3) <V2.4affected: fixed in V2.4 support.industry.siemens.com
+5 more productsfewer
Siemens SCALANCE XRM334 (2x230 V AC, 12xFO) (6GK5334-3TS01-4AR3) <V2.4 Siemens SCALANCE XRM334 (24 V DC, 8xFO) (6GK5334-2TS01-2AR3) <V2.4 Siemens SCALANCE XRM334 (24 V DC, 12xFO) (6GK5334-3TS01-2AR3) <V2.4 Siemens SCALANCE XRM334 (230 V AC, 8xFO) (6GK5334-2TS01-3AR3) <V2.4 Siemens SCALANCE XRM334 (230 V AC, 12xFO) (6GK5334-3TS01-3AR3) <V2.4
Facts from CISA's republication of the vendor's own advisory (CSAF); the linked advisory is the authoritative source. CISA notification · csaf
CISA SSVC
- Exploitation
- Proof of concept is public
- Automatable
- no
- Technical impact
- total
- Assessed
- 19 mo ago
Exploit prediction
0.54% chance of exploitation in the next 30 days, higher than 45% of all scored CVEs (FIRST EPSS, 2026-11-08).
Exploits and checks
- github.com https://github.com/tpm2-software/tpm2-tss/security/advisories/GHSA-4j3v-fh23-vx67 referenced PoC, tagged "exploit" by a source, unverified
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 3.1 | 6.4 | CVSS:3.1/AV:L/AC:H/PR:H/UI:N/S:U/C:H/I:H/A:H |
| NVD | 3.1 | 6.4 | CVSS:3.1/AV:L/AC:H/PR:H/UI:N/S:U/C:H/I:H/A:H |
Affected products
- tpm2-software tpm2-tss
Classification
- Weakness
-
- CWE-120 Buffer Copy without Checking Size of Input
References
-
github.com
/tpm2-software/tpm2-tss/commit/306490c8d848c367faa2d9df81f5e69dab46ffb5
patch, third-party-advisory
- github.com /tpm2-software/tpm2-tss/commit/49107d65d5c7be430671398416bbd89dae4e34e7
- github.com /tpm2-software/tpm2-tss/commit/7ab42953216adec046d000a5e3085f3ee5e9cabf
-
github.com
/tpm2-software/tpm2-tss/security/advisories/GHSA-4j3v-fh23-vx67
exploit, third-party-advisory
Sources
- CVE List CVE-2023-22745
- NVD CVE-2023-22745
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.