Apple soluciona un bug de iMessage en iOS 12.3 que puede bloquear el dispositivo

Con cada nueva versión de sistema operativo Apple corrige errores que afectan a los dispositivos. Con iOS 12.3, que fue lanzado el pasado Abril, Apple ha corregido un error que podía dejar el dispositivo completamente bloqueado hasta que se restaurara.

Este es un recordatorio más de la importancia de mantener nuestros dispositivos a la última versión. Vamos a verlo con un poco más de profundidad.

Desde AppleInsider revelan que se trata de un bug de iMessage que se activa al recibir un mensaje específico. La investigadora de seguridad Natalie Silvanovich, que trabaja para el equipo de Google Project Zero, es la descubridora de este error:

El método -[IMBalloonPluginDataSource individualPreviewSummary] en IMCore puede lanzar una NSException debido a un mensaje malformado que contenga la propiedad con llave IMExtensionPayloadLocalizedDescriptionTextKey con un valor que no es un NSString. Este método llama a [IMBalloonPluginDataSource _summaryText] que devuelve la propiedad asumiendo que es un «string», pero esto no se comprueba. 

El método de llamada entonces llama -[IMBalloonPluginDataSource replaceHandleWithContactNameInString:] que a su vez llama imhandleIdentifiers en el NSString, el cual en realidad es un NSNumber que lanza una excepción dado que el selector no existe para esa clase.

Más allá de los detalles técnicos podemos resumir la situación en que la recepción de un mensaje concreto en un dispositivo causa un error con diferentes consecuencias. En el caso del Mac la consecuencia es que uno de los servicios del sistema soagent se reinicia después del error sin más efectos, pero en el caso de los iPhone y los iPad el error se transmite al springboard (quien controla la retícula de iconos que vemos en nuestro dispositivo) y causa que este se reinicie. El error causa un bucle del que solo se puede salir borrando por completo el dispositivo.

La razón de que este error salga ahora a la luz, aunque Apple tiene conocimiento de este desde hace varios meses, es la necesidad de arreglarlo y conceder tiempo a los usuarios para actualizar sus dispositivos para recibir los cambios necesarios que eliminan este error.

Por norma general las empresas de seguridad suelen esperar unos 90 días para la publicación de este clase de errores.

De nuevo este caso es un recordatorio de la necesidad de mantener actualizados nuestros dispositivos. Puedes consultar este artículo en el que vimos cómo actualizar todos nuestros dispositivos para asegurarte de que están todos al día.

Si necesitas ayuda extra por favor, deja un comentario, contáctame o dime algo en twitter.


Artículos relacionados: