Vulnerabilidad en OP-TEE (CVE-2025-46733)
Gravedad CVSS v3.1:
ALTA
Tipo:
No Disponible / Otro tipo
Fecha de publicación:
04/07/2025
Última modificación:
08/07/2025
Descripción
OP-TEE es un Entorno de Ejecución Confiable (TEE) diseñado para complementar un kernel Linux no seguro que se ejecuta en núcleos Arm; los núcleos Cortex-A utilizan la tecnología TrustZone. En la versión 4.5.0, mediante un binario tee-supplicant especialmente manipulado que se ejecuta en el espacio de usuario de REE, un atacante puede generar un pánico en un TA que utiliza la API de Almacenamiento Seguro de libutee. Muchas funciones de libutee, en particular las que conforman la API de Almacenamiento Seguro, entrarán en pánico si una llamada al sistema devuelve un código de retorno inesperado. Este comportamiento está estipulado por la especificación de la API del Núcleo Interno de TEE. Sin embargo, en la implementación de OP-TEE, los códigos de retorno de las operaciones de almacenamiento seguro se transfieren sin sanear desde el tee-supplicant de REE, a través del controlador tee del kernel de Linux, a través del kernel de OP-TEE, de vuelta a libutee. De este modo, un atacante con acceso al espacio de usuario REE y la capacidad de detener tee-supplicant y reemplazarlo con su propio proceso (generalmente trivial para un usuario root y, dependiendo de la forma en que se configuren los permisos, potencialmente disponible incluso para usuarios menos privilegiados) puede ejecutar un proceso tee-supplicant malicioso que responde a las solicitudes de almacenamiento con códigos de respuesta inesperados, lo que provoca pánico en el TA solicitante. Esto es particularmente peligroso para los TA creados con `TA_FLAG_SINGLE_INSTANCE` (que corresponde a `gpd.ta.singleInstance` y `TA_FLAG_INSTANCE_KEEP_ALIVE` (que corresponde a `gpd.ta.keepAlive`). El comportamiento de estos TA puede depender de la memoria que se conserva entre sesiones, y la capacidad de un atacante de generar pánico en el TA y recargarlo con un espacio de memoria limpio puede comprometer el comportamiento de esos TA. Un ejemplo crítico de esto es el TA optee_ftpm. Utiliza la memoria viva mantenida para almacenar valores de PCR, que crucialmente deben ser no reiniciables. Un atacante que puede provocar un pánico en el TA fTPM puede reiniciar los PCR y luego extenderlos con lo que elija, falsificando mediciones de arranque, accediendo a datos sellados y potencialmente más. El impacto de este problema depende significativamente del comportamiento de los TA afectados. Para algunos, podría manifestarse como una denegación de servicio, mientras que para otros, como el TA fTPM, Puede resultar en la divulgación de datos confidenciales. Cualquier usuario de la TA fTPM se ve afectado, pero podrían producirse ataques similares en otras TA que utilizan la API de Almacenamiento Seguro. Hay una solución disponible en el commit 941a58d78c99c4754fbd4ec3079ec9e1d596af8f.
Impacto
Puntuación base 3.x
7.90
Gravedad 3.x
ALTA