Vimos una película y entregamos el teléfono: la GPU de Android ahora otorga permisos a cualquiera.

Vimos una película y entregamos el teléfono: la GPU de Android ahora otorga permisos a cualquiera.

Una vulnerabilidad supuestamente solucionada en Android sigue preocupando a los especialistas.

image

Una vulnerabilidad en el procesador gráfico de un teléfono inteligente puede sonar como un asunto específico para especialistas, pero en realidad se trata de una vía directa para la toma completa de control de los dispositivos Android. Los autores del nuevo análisis CVE-2024-23380 mostraron cómo un error en el controlador Qualcomm KGSL permitía que una aplicación sin permisos obtuviera privilegios root, es decir, acceso a casi todas las funciones del sistema.

El problema afectaba el mecanismo de gestión de la memoria del procesador gráfico en dispositivos con chips Qualcomm. El controlador Qualcomm KGSL actúa como mediador entre Android y el procesador gráfico, y el acceso al dispositivo correspondiente lo tienen las aplicaciones normales. Por eso este tipo de error es especialmente peligroso: al atacante no le hace falta primero obtener privilegios elevados, basta con ejecutar una aplicación en el entorno de usuario habitual.

Los especialistas se centraron en el llamado Virtual Buffer Object, un mecanismo flexible de gestión de memoria. Ese objeto permite al procesador gráfico trabajar con fragmentos de memoria dispersos, lo que es útil para el rendimiento pero complica la lógica interna del controlador. En CVE-2024-23380 el error se producía por una condición de carrera al enlazar y desenlazar simultáneamente segmentos de memoria. Como resultado, el controlador podía liberar una página de memoria aunque el procesador gráfico seguía considerando el segmento válido y accediendo a él.

En esencia, el sistema perdía el control sobre a quién pertenecía un segmento concreto de memoria. La página liberada podía ser reutilizada más tarde por otro objeto del núcleo, mientras que el atacante conservaba acceso al contenido a través del mecanismo gráfico. Ese escenario abría la puerta a la modificación de estructuras críticas del núcleo y, en última instancia, al aumento de privilegios hasta el nivel máximo.

Los autores del análisis describieron en detalle la estructura interna del controlador, la lógica del recuento de referencias a los objetos de memoria y las razones por las que el error conducía a un uso tras liberación. El material muestra que el peligro principal no reside en una sola falla, sino en la combinación de varias peculiaridades de la arquitectura. El controlador gestiona páginas físicas de memoria compartidas entre la aplicación y el procesador gráfico, de modo que cualquier error en esa subsistema otorga al atacante capacidades especialmente potentes.

En el texto publicado se señala además que, tras el aprovechamiento exitoso de la vulnerabilidad, las medidas de protección estándar del núcleo ya no bastaban por completo. La razón es que el atacante obtenía control sobre páginas físicas de memoria, y ese nivel de acceso permite sortear muchas de las barreras de protección habituales.

Los autores también respondieron a preguntas frecuentes de la comunidad. Según ellos, el fallo se manifestaba como una condición de carrera, pero resultó ser relativamente estable: un intento fallido no conducía necesariamente a un fallo crítico del dispositivo. Para comprobar si el ataque había funcionado, los especialistas usaron marcas de control en la memoria y verificaron si los datos se conservaban después de la operación conflictiva.

CVE-2024-23380 se corrigió en julio de 2024, pero la historia no termina ahí. Los autores recuerdan que la pila gráfica de Android sigue siendo un objetivo importante para los ataques, y que los errores en las subsistemas de gestión de memoria continúan encontrándose y corrigiéndose dentro de las actualizaciones de seguridad regulares. La conclusión principal del análisis es simple: el procesador gráfico dejó hace tiempo de ser solo una herramienta para mostrar imagen en pantalla. En los teléfonos inteligentes modernos ese componente se ha convertido en otro punto de entrada al núcleo del sistema y, por tanto, al control total del dispositivo.