Vulnerabilidades en la implementación de referencia TPM 2.0 que permiten el acceso a datos en el criptochip

En el código con la implementación de referencia de la especificación TPM 2.0 (Trusted Platform Module), se identificaron vulnerabilidades (CVE-2023-1017, CVE-2023-1018) que conducen a la escritura o lectura de datos más allá de los límites del búfer asignado. Un ataque a implementaciones de criptoprocesadores que utilicen código vulnerable podría resultar en la extracción o sobrescritura de información almacenada en el chip, como claves criptográficas. Un atacante puede utilizar la capacidad de sobrescribir datos en el firmware del TPM para organizar la ejecución de su código en el contexto del TPM, que, por ejemplo, puede usarse para implementar puertas traseras que operan en el lado del TPM y no se detectan. por el sistema operativo.

Las vulnerabilidades se deben a una verificación incorrecta del tamaño de los parámetros de la función CryptParameterDecryption(), que permite escribir o leer dos bytes más allá del límite del búfer pasado a la función ExecuteCommand() y que contiene el comando TPM2.0. Dependiendo de la implementación del firmware, los dos bytes que se sobrescriben pueden dañar tanto la memoria no utilizada como los datos o punteros de la pila.

La vulnerabilidad se explota enviando comandos especialmente diseñados al módulo TPM (el atacante debe tener acceso a la interfaz TPM). Los problemas se resolvieron en la actualización de la especificación TPM 2.0 lanzada en enero (1.59 Errata 1.4, 1.38 Errata 1.13, 1.16 Errata 1.6).

La biblioteca abierta libtpms, utilizada para la emulación de software de módulos TPM y la integración del soporte TPM en hipervisores, también es vulnerable. La vulnerabilidad se solucionó en la versión libtpms 0.9.6.

Fuente: opennet.ru

Añadir un comentario