STA-015-DL: Un clic, un SystemUI colapsado, un reinicio forzado
¿Qu茅 es STA-015-DL?
STA-015-DL es uno de los 32 vectores documentados en el whitepaper de Structured Text Amplification (STA). Es, con diferencia, el m谩s severo de todos: CVSS 8.6 (Alto), y no porque sea un fallo de memoria ni una vulnerabilidad remota de ejecuci贸n de c贸digo, sino porque un solo clic puede dejar tu tel茅fono in煤til hasta que lo reinicies a la fuerza.
El ataque no requiere privilegios especiales, ni instalar nada, ni interactuar con la v铆ctima m谩s all谩 de un clic en un enlace. El enlace, adem谩s, puede estar alojado perfectamente en Google Drive, en un correo electr贸nico, en un SMS o en un c贸digo QR. La v铆ctima solo tiene que abrirlo.
La cadena de ataque, paso a paso
- El usuario abre un documento HTML alojado en Google Drive. El documento contiene un hiperv铆nculo perfectamente normal, pero con una URL extraordinariamente larga y con caracteres especiales:
#,/,%,€… El tipo de URL que, en principio, no parece peligrosa. - Al hacer clic, Google Drive genera un Intent
ACTION_VIEW. Android lo trata como una acci贸n leg铆tima. La URL viaja a trav茅s de Binder, el mecanismo de comunicaci贸n entre procesos, y llega al navegador predeterminado. - El navegador intenta procesar la URL. En ese momento,
libminikin.so–el motor de renderizado de texto de Android– intenta calcular los saltos de l铆nea de esa URL kilom茅trica. El algoritmo es O(n²) en el peor caso, y la CPU se bloquea durante 10–17 segundos. Se produce un ANR (Application Not Responding). - Pero el da帽o no acaba ah铆. Durante ese bloqueo, el sistema intenta guardar el estado de la tarea. La URL gigante se serializa y se escribe en el TaskPersister, el componente que guarda las tareas recientes en disco.
- SystemUI –la interfaz del sistema– lee ese estado corrupto. Al intentar restaurar la tarea, se encuentra con una
BadParcelableExceptiono unaDeadObjectException. Y SystemUI se cae. La pantalla se queda en negro, desaparecen la barra de estado, la barra de navegaci贸n… el tel茅fono parece muerto. - Android intenta recuperarse. Reinicia SystemUI autom谩ticamente. Pero el estado corrupto sigue en el disco. El componente de HyperOS
OEM COMPONENTvuelve a leer el mismo estado corrupto… y SystemUI vuelve a caer. Es un bucle. - Tras varios intentos, Android se rinde y muestra la pantalla de bloqueo. El usuario introduce su PIN, su patr贸n o su huella. Android restaura la sesi贸n… y el navegador vuelve a estar en primer plano. El estado corrupto sigue ah铆. El ciclo se repite autom谩ticamente. El usuario no necesita hacer nada m谩s.
taskpersister.
Evidencia t茅cnica (la parte que no se ve)
Este vector no es una teor铆a. Se ha reproducido en seis dispositivos de diferentes fabricantes (Pixel, Xiaomi, Samsung, OPPO, OnePlus) con Android 13, 14, 15 y 16. Los stack traces nativos capturados en dispositivos de producci贸n son p煤blicos en el whitepaper.
El flujo completo de 12 pasos est谩 documentado en el whitepaper y basado en dos bugreports independientes de mayo y junio de 2026, recogidos en un dispositivo Xiaomi Redmi Note 14 5G con HyperOS 3.0.
at android.content.pm.BaseParceledListSlice.<init>(BaseParceledListSlice.java:111)
at android.window.ITaskOrganizerController$Stub$Proxy.registerTaskOrganizer(...)
at android.window.TaskOrganizer.registerOrganizer(TaskOrganizer.java:76)
at com.android.wm.shell.sysui.ShellInit.init(...) ← crash at bootstrap
Caused by: android.os.DeadObjectException: Transaction failed on small parcel
Esta traza demuestra que SystemUI se cae en su propia inicializaci贸n, antes de que el usuario haya visto siquiera la pantalla de inicio.
¿Por qu茅 es tan grave?
- No requiere ninguna habilidad t茅cnica. El ataque se activa con un simple clic. Cualquier persona con acceso a un enlace puede ser v铆ctima.
- El alcance cambia. El navegador es solo el veh铆culo. El objetivo real es SystemUI, el componente m谩s privilegiado de la interfaz de Android. El impacto no se limita a una aplicaci贸n: es el sistema entero.
- La persistencia. El estado corrupto se guarda en disco y sobrevive a reinicios. Ni el modo seguro, ni las herramientas de recuperaci贸n b谩sicas lo eliminan. Solo una limpieza a fondo de los datos del sistema.
¿Qu茅 han hecho los fabricantes?
- Google: Reconoci贸 parte de la investigaci贸n con una recompensa de 250 d贸lares, pero el informe espec铆fico sobre libminikin/SystemUI (el que contiene STA-015-DL) fue cerrado como "Out of Scope". La apelaci贸n fue denegada como "Not Reproducible", a pesar de las pruebas de concepto y los bugreports.
- Xiaomi: Reprodujo el vector espec铆fico que afecta a su capa HyperOS (STA-015b) y concedi贸 una recompensa de 300 d贸lares. Est谩n trabajando en un parche.
- INCIBE: Deriv贸 el caso a MITRE para la asignaci贸n de CVE. El proceso est谩 en curso.(se envi贸 correo)
- El bolet铆n de seguridad de Android de julio de 2026: No incluy贸 ni un solo parche para STA-015-DL ni para ning煤n otro vector STA.
¿Qu茅 puedes hacer t煤?
Si eres usuario de Android:
- No hagas clic en enlaces sospechosos que contengan URL inusualmente largas o con muchos caracteres especiales.
- Si ves que SystemUI se cae y no se recupera, mant茅n pulsado el bot贸n de encendido 10 segundos para reiniciar. Luego, desde el modo seguro o desde la configuraci贸n, borra los datos del navegador y de SystemUI.
- Difunde esta informaci贸n. Cuanto m谩s se sepa, m谩s presi贸n habr谩 sobre Google para que publique el parche.
Si eres desarrollador de Android:
- Valida y trunca cualquier texto estructurado que entre en tu aplicaci贸n (URLs, Intent extras, contenido de portapapeles, etc.) antes de pasarlo al framework.
- No conf铆es en que el framework har谩 el trabajo por ti.
El v铆deo (prueba de concepto)
Puedes subirlo a YouTube/Vimeo y poner el iframe o el enlace.
El whitepaper completo
Todos los detalles t茅cnicos, los stack traces, las tablas de vectores y las recomendaciones de parche est谩n disponibles en el whitepaper completo:












