// For flags

CVE-2023-22745

Buffer Overlow in TSS2_RC_Decode in tpm2-tss

Severity Score

6.4
*CVSS v3.1

Exploit Likelihood

*EPSS

Affected Versions

*CPE

Public Exploits

1
*Multiple Sources

Exploited in Wild

-
*KEV

Decision

-
*SSVC
Descriptions

tpm2-tss is an open source software implementation of the Trusted Computing Group (TCG) Trusted Platform Module (TPM) 2 Software Stack (TSS2). In affected versions `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.

tpm2-tss es una implementación de software de código abierto de la pila de software (TSS2) del módulo de plataforma segura (TPM) 2 de Trusted Computing Group (TCG). En las versiones afectadas, `Tss2_RC_SetHandler` y `Tss2_RC_Decode` indexan en `layer_handler` con un número de capa de 8 bits, pero la matriz solo tiene entradas `TPM2_ERROR_TSS2_RC_LAYER_COUNT`, por lo que intentar agregar un controlador para capas con números más altos o decodificar un código de respuesta con dicho número de capa lee/escribe más allá del final del búfer. Este desbordamiento del búfer podría provocar la ejecución de código arbitrario. Un ataque de ejemplo sería un ataque de bus MiTM que devuelve 0xFFFFFFFF para el RC. Dado el caso de uso común de los módulos TPM, un atacante debe tener acceso local a la máquina de destino con privilegios del sistema local que permitan el acceso al sistema TPM. Por lo general, el acceso a TPM requiere privilegios administrativos.

A flaw was found in tpm2-tss, which is an open source software implementation of the Trusted Computing Group (TCG) Trusted Platform Module (TPM) 2 Software Stack (TSS2). In affected versions, `Tss2_RC_SetHandler` and `Tss2_RC_Decode` index into the `layer_handler` with an 8-bit layer number, but the array only has `TPM2_ERROR_TSS2_RC_LAYER_COUNT` entries. Trying to add a handler for higher-numbered layers or to decode a response code with a layer number, reads/writes past the end of the buffer. This buffer overrun could result in arbitrary code execution. An example attack is a man-in-the-middle (MiTM) bus attack that returns 0xFFFFFFFFFF 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 privileges.

*Credits: N/A
CVSS Scores
Attack Vector
Local
Attack Complexity
High
Privileges Required
High
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
High
* Common Vulnerability Scoring System
SSVC
  • Decision:-
Exploitation
-
Automatable
-
Tech. Impact
-
* Organization's Worst-case Scenario
Timeline
  • 2023-01-06 CVE Reserved
  • 2023-01-19 CVE Published
  • 2024-08-02 CVE Updated
  • 2024-08-02 First Exploit
  • 2024-08-11 EPSS Updated
  • ---------- Exploited in Wild
  • ---------- KEV Due Date
CWE
  • CWE-120: Buffer Copy without Checking Size of Input ('Classic Buffer Overflow')
CAPEC
Affected Vendors, Products, and Versions
Vendor Product Version Other Status
Vendor Product Version Other Status <-- --> Vendor Product Version Other Status
Tpm2 Software Stack Project
Search vendor "Tpm2 Software Stack Project"
Tpm2 Software Stack
Search vendor "Tpm2 Software Stack Project" for product "Tpm2 Software Stack"
<= 4.0.0
Search vendor "Tpm2 Software Stack Project" for product "Tpm2 Software Stack" and version " <= 4.0.0"
-
Affected