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

Se han identificado vulnerabilidades (CVE-2023-1017, CVE-2023-1018) en el código de la implementación de referencia del TPM 2.0 (Módulo de Plataforma Segura). Estas vulnerabilidades permiten la lectura o escritura de datos fuera de los límites permitidos. Los ataques a implementaciones de criptoprocesadores que utilicen código vulnerable podrían provocar la extracción o sobrescritura de información en el chip, como las claves criptográficas. Un atacante podría aprovechar la capacidad de sobrescribir datos en el firmware del TPM para ejecutar su código dentro del contexto del TPM. Esto podría, por ejemplo, utilizarse para implementar puertas traseras que se ejecuten en el TPM y sean indetectables para el sistema operativo.

Las vulnerabilidades se deben a una comprobación incorrecta del tamaño del parámetro de la función CryptParameterDecryption(), lo que permite escribir o leer dos bytes más allá del final del búfer pasado a la función ExecuteCommand(), que contiene el comando TPM2.0. Según la implementación del firmware, estos dos bytes sobrescritos pueden dañar la memoria, los datos o los punteros de pila no utilizados.

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 solucionaron en la actualización de la especificación TPM 2.0 publicada en enero (1.59 Erratas 1.4, 1.38 Erratas 1.13, 1.16 Erratas 1.6).

La biblioteca de código abierto libtpms, utilizada para la emulación de software de módulos TPM y la integración de la compatibilidad con TPM en hipervisores, también es vulnerable. La vulnerabilidad se corrigió en libtpms 0.9.6.

Fuente: opennet.ru

Añadir un comentario