Investigadores del grupo de seguridad Project Zero (ps.tc) han publicado los detalles técnicos de una nueva vulnerabilidad en el BootROM de dispositivos iPhone que puede ser explotada a través de una conexión USB, lo que permite a un atacante comprometer la cadena de arranque del procesador de aplicación (AP) incluso en dispositivos con los últimos sistemas de seguridad implementados.
Según la investigación, el fallo se origina en el controlador USB DesignWare (DWC2) de Synopsys, utilizado por Apple en sus SoC. El equipo descubrió que el controlador almacena hasta tres paquetes Setup consecutivos en memoria y, al recibir un cuarto, reinicia su dirección base de acceso directo a memoria (DMA) en un mecanismo similar a un buffer circular. El problema es que, dado que el controlador también acepta paquetes de menor tamaño (aunque siempre los almacena en fragmentos de 4 bytes), existe un desajuste entre el incremento del puntero y el decremento fijo de 24 bytes, lo que genera una primitiva de subdesbordamiento del buffer en pasos de 12 bytes. Los autores consideran que se trata de un fallo inherente al propio hardware del controlador, lo que podría afectar a una amplia gama de dispositivos, aunque su explotabilidad depende de circunstancias específicas.
La vulnerabilidad ha sido confirmada en los SecureROM de los SoC A12 y A13 de Apple, mientras que el A11 no se ve afectado porque su controlador USB reinicia manualmente la dirección DMA tras cada paquete recibido. En el caso del A12, la explotación resulta relativamente directa, ya que el búfer DMA del controlador se asigna en el heap poco después de la pila de la tarea USB, lo que permite sobrescribir un registro LR guardado y obtener control directo del contador de programa (PC) cuando el planificador realiza un cambio de contexto.
La situación es más compleja en el A13 debido a la introducción de Pointer Authentication Codes (PAC). Para sortear esta mitigación, los investigadores desarrollaron una técnica de varios pasos que combina la corrupción de estructuras DART (Device Address Resolution Table) en el heap, el uso de primitivas de escritura de ceros y del valor 0xF, y la manipulación de un contador global de pánico para evitar reinicios del dispositivo durante la explotación. En particular, aprovecharon rutinas de limpieza como dart_stop y dart_free, que permitían controlar datos en el heap, y funciones como dart_flush_maybe para obtener una primitiva de escritura que sobreescribe el contador de profundidad de pánico, haciendo que el sistema entre en un bucle infinito en lugar de reiniciarse ante un fallo.
Un dato relevante es que, en los A12 y A13, USB DART se configura en modo bypass, lo que permite sobrescribir libremente datos de SRAM. En cambio, en el A14 y generaciones posteriores, Apple configuró correctamente el DART en SecureROM, lo que vuelve la vulnerabilidad inexplotable. Los SoC actualmente soportados por la prueba de concepto publicada son el A12, el S4/S5 y el A13, mientras que el soporte técnico para el A12X/Z es posible pero no se ha implementado, según los investigadores, porque consideran que demostrar la explotación en este rango era suficiente para validar tanto la vulnerabilidad como la estrategia de ataque.
El equipo decidió publicar la investigación junto con una prueba de concepto (disponible en GitHub bajo el nombre usbliter8) con el objetivo de documentar el impacto real de esta clase de vulnerabilidades de hardware, contribuir a la comprensión general de la seguridad del BootROM moderno y demostrar que incluso las generaciones recientes de SecureROM siguen siendo susceptibles a fallos de hardware sutiles. Subrayan que, dado que estas vulnerabilidades residen en código inmutable, la única mitigación verdaderamente eficaz para los usuarios afectados es migrar a hardware más reciente.
En definitiva, aunque Apple ha reforzado la seguridad en las generaciones A14 y posteriores, los propietarios de dispositivos con chips A12 y A13, como los iPhone XS, iPhone 11, iPhone 11 Pro, la primera generación de iPhone SE, así como varios modelos de Apple Watch, deben tener en cuenta que sus dispositivos siguen siendo potencialmente vulnerables a este tipo de ataques físicos, que requieren acceso USB directo al terminal.
