CVE-2023-22745

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.
Configurations

Configuration 1 (hide)

cpe:2.3:a:tpm2_software_stack_project:tpm2_software_stack:*:*:*:*:*:*:*:*

History

21 Nov 2024, 07:45

Type Values Removed Values Added
References () https://github.com/tpm2-software/tpm2-tss/commit/306490c8d848c367faa2d9df81f5e69dab46ffb5 - Patch, Third Party Advisory () https://github.com/tpm2-software/tpm2-tss/commit/306490c8d848c367faa2d9df81f5e69dab46ffb5 - Patch, Third Party Advisory
References () https://github.com/tpm2-software/tpm2-tss/security/advisories/GHSA-4j3v-fh23-vx67 - Exploit, Third Party Advisory () https://github.com/tpm2-software/tpm2-tss/security/advisories/GHSA-4j3v-fh23-vx67 - Exploit, Third Party Advisory
Summary
  • (es) 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.
Summary (en) 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. (en) 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.

Information

Published : 2023-01-19 23:15

Updated : 2024-11-21 07:45


NVD link : CVE-2023-22745

Mitre link : CVE-2023-22745

CVE.ORG link : CVE-2023-22745


JSON object : View

Products Affected

tpm2_software_stack_project

  • tpm2_software_stack
CWE
CWE-120

Buffer Copy without Checking Size of Input ('Classic Buffer Overflow')