Dos vulnerabilidades de seguridad encontradas en Trusted Platform Module 2.0

El Trusted Platform Module (TPM) de Trusted Computing Group (TCG) es una tecnología de seguridad física o integrada (microcontrolador) que reside en la placa base de una computadora o en su procesador diseñado para garantizar la integridad y confidencialidad de los datos confidenciales almacenados en un sistema informático. Se utiliza en una amplia gama de aplicaciones, incluido el arranque seguro, el cifrado de discos y el almacenamiento seguro de claves.

 Sin embargo dos vulnerabilidades descubiertas recientemente en la biblioteca de módulos de TPM2.0 podrían comprometer la seguridad del sistema.

CVE-2023-1017 es una vulnerabilidad de escritura fuera de los límites que existe en la rutina CryptParameterDecryption. Un atacante que pueda aprovechar esta vulnerabilidad puede escribir 2 bytes más allá del final del comando TPM2.0 lo que lleva a una denegación de servicio o ejecución de código arbitrario en el contexto TPM. El impacto de esta vulnerabilidad depende del contenido de la ubicación de memoria donde se escriben los 2 bytes. En algunos casos, la ubicación de la memoria puede no estar en uso, mientras que en otros, puede contener datos en vivo.

CVE-2023-1018 es una vulnerabilidad de lectura fuera de los límites que existe en la misma rutina CryptParameterDecryption. Un atacante que pueda aprovechar esta vulnerabilidad puede leer 2 bytes más allá del final del comando TPM2.0, accediendo potencialmente a datos confidenciales almacenados en el TPM. El impacto de esta vulnerabilidad es significativo ya que podría comprometer la confidencialidad de los datos del sistema.

Las vulnerabilidades fueron descubiertas por Francisco Falcón de Quarkslab y reportadas al Centro de Coordinación CERT (CERT/CC) y posteriormente reportadas al TCG VRT. La causa principal de ambas vulnerabilidades es la falta de comprobaciones de longitud adecuadas en el código de referencia, lo que podría provocar desbordamientos de búfer. Los desbordamientos del búfer ocurren en el búfer pasado al punto de entrada ExecuteCommand(), como se detalla en la Parte 4 de la especificación.

El impacto de estos CVE-2023-1017 y CVE-2023-1018 es significativo, ya que podrían permitir que los atacantes comprometan la seguridad del sistema. Una explotación exitosa de cualquiera de las vulnerabilidades podría permitir a un atacante obtener acceso no autorizado a datos confidenciales, ejecutar código arbitrario en el contexto de TPM o inutilizar el chip/proceso de TPM, lo que resultaría en una denegación de servicio.