Una nueva vulnerabilidad ha sido identificada en el controlador de GPU Mali de ARM, conocida como CVE-2025-0072, que permite a aplicaciones maliciosas en Android eludir las protecciones del Memory Tagging Extension (MTE) y ejecutar código arbitrario en el núcleo del sistema. Esta situación es alarmante, ya que a pesar de las medidas de seguridad implementadas por ARM, el riesgo de explotación persiste, especialmente en el código del núcleo que manipula la memoria a un nivel bajo.
La vulnerabilidad fue presentada a ARM el 12 de diciembre de 2024 y se corrigió en la versión del controlador Mali r54p0, lanzada al público el 2 de mayo de 2025, e incluida en la actualización de seguridad de Android de mayo de 2025. Los dispositivos que utilizan la arquitectura Command Stream Frontend (CSF) de los nuevos GPUs Mali de ARM, como los modelos Pixel 7, 8 y 9 de Google, son los más afectados.
El funcionamiento de la explotación se centra en el manejo de las colas CSF, que interactúan con las aplicaciones de usuario a través de colas de comandos, objetos manejados por el controlador. Estas colas deben ser vinculadas a grupos antes de usarse. Sin embargo, mediante un procedimiento que permite modificar y sobreescribir las direcciones de memoria asignadas, un atacante puede liberar y reutilizar la memoria, eludiendo así las protecciones del MTE.
El problema radica en el mal manejo de las páginas de memoria, específicamente en cómo se liberan y reasignan. A través de diversos pasos, incluyendo la creación y eliminación de grupos de colas, un atacante puede acceder a áreas de memoria que deberían estar protegidas. Una vez que estas páginas son accesibles, el atacante puede manipular las estructuras de datos del kernel, permitiéndole obtener privilegios elevados.
A pesar de las defensas del MTE, diseñadas para detectar corrupciones de memoria emparejando etiquetas en las direcciones de memoria, esta vulnerabilidad demuestra que el acceso a la memoria liberada puede evadir dichas medidas. En este caso, la gestión de la memoria por parte del controlador de GPU permitió que las páginas de memoria liberadas fueran accedidas sin activar las protecciones.
Esta vulnerabilidad destaca no solo los desafíos continuos en la seguridad de la memoria, sino también la necesidad de una vigilancia constante en la implementación de sistemas complejos como los controladores de hardware que interactúan con el núcleo del sistema operativo. La comunidad de seguridad y los desarrolladores están llamados a prestar más atención a estos aspectos en el diseño e implementación de la infraestructura de software.