Este fragmento de código web puede causar pánico en el kernel y reiniciar en dispositivos iOS
De vez en cuando oímos hablar de algún enlace o una larga cadena de texto que es capaz de estrellar iPhones y iPads. En los últimos años hemos tenido varios casos en los que estos errores que afectaban principalmente a las aplicaciones de mensajería se filtraron al público y causaron estragos, hasta que Apple impulsó una actualización del software para corregir el error. Lo que hizo que esos errores fueran tan efectivos fue el hecho de que no requerían mucha información por parte del usuario desprevenido afectado, todo lo que tenías que hacer era abrir el hilo de mensajes de texto y tu dispositivo se bloqueará, entrando en un bucle de arranque en muchos casos.
Ahora otro fallo del iOS ha sido descubierto por el investigador de seguridad @pwnsdx, que es capaz de causar un pánico en el kernel del dispositivo, causando que el dispositivo se bloquee. Se basa en un fragmento de HTML y CSS que debe ser enviado al dispositivo de destino para que se bloquee. A diferencia de muchos errores similares que hemos visto en el pasado, los efectos de este error no se limitan a bloquear el SpringBoard, ya que provoca un pánico en el núcleo.
Este fallo afecta a los dispositivos iOS que pueden interpretar el efecto de filtro de fondo, que incluye todos los dispositivos iOS modernos desde que se introdujo la compatibilidad con iOS 7. Cuando el fragmento de código web con muchos elementos div y pocas líneas de CSS se envía a un dispositivo de destino, aplica un efecto de desenfoque de ordenador a cada elemento de la página. Esto pone mucha carga en el renderizador webKit, causando que el sistema se bloquee con un pánico en el kernel. El dispositivo se bloquea, muestra el logotipo de arranque de Apple y se reinicia.
Para apuntar a un dispositivo, el código HTML y CSS debe colocarse en una URL y enviarse a un usuario. Pero para que el ataque tenga éxito, el usuario debe abrir el enlace en el navegador web. Esto hace que el error sea menos molesto que los errores de iMessage, ya que se iniciaron tan pronto como se abrió el mensaje.
El error parece estar afectando tanto a iOS 11 como a iOS 12, y también puede causar que los navegadores de escritorio se congelen. Como el fallo ya se ha hecho público, esperamos que Apple lo arregle en la versión final de iOS 12 y libere un parche para iOS 11.
Para aquellos interesados, el código fuente completo del error está disponible en GitHub aquí. Puedes activar el error abriendo ‘safar-reaper.html’ en la página.
>
Marcos Robson es redactor autónomo de Tech&Crumb y redacta los temas de seguridad, privacidad, libertad de información y cultura hacker (WikiLeaks y criptografía). Actualmente trabaja en en Nueva York (Wired).