Un 'bug' de iMessage solucionado en iOS 12.3 bloqueaba el iPhone hasta restaurarlo

Un 'bug' de iMessage solucionado en iOS 12.3 bloqueaba el iPhone hasta restaurarlo

3 comentarios Facebook Twitter Flipboard E-mail
Un 'bug' de iMessage solucionado en iOS 12.3 bloqueaba el iPhone hasta restaurarlo

Con cada versión de iOS, Apple corrige errores y bugs que afectan a sus dispositivos. Con iOS 12.3, lanzado el pasado mes de abril, la compañía ha corregido un error que dejaba bloqueado el dispositivo. Así lo ha divulgado Natalie Silvanovich, trabajadora de Google Project Zero, a través de la web de esta iniciativa.

Borrar y restaurar el dispositivo como única solución

iPhone

Tal y como revelan en AppleInsider, se trata de un bug de iMessage que se activa al recibir un mensaje específico. Del reporte creado por Silvanovich:

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 im_handleIdentifiers en el NSString, el cual en realidad es un NSNumber que lanza una excepción dado que el selector no existe para esa clase.

Este error tiene efectos distintos en un Mac y en un iPhone. En el Mac, provoca que el soagent se crashee y relance. Pero en el iPhone acaba haciéndolo con el springboard. Por esta razón, el error entra en bucle y no se puede solucionar con un borrado completo del dispositivo.

La única solución aparente es reiniciar el dispositivo en modo de recuperación y restaurarlo. Si te interesa el bug, en la web de Google Project Zero puedes seguir las instrucciones para reproducirlo.

Otra razón más para mantener tus dispositivos al día

iPhone

La publicación de este bug se produce más de mes y medio después de su solución a través de una actualización. Las fechas que se manejan en esta historia son las siguientes:

  • 19 de abril: Silvanovich reporta el bug a través de su plataforma de Google Project Zero. En ese mismo momento entendemos que se le comunica también a Apple.
  • 13 de mayo: Apple lanza iOS 12.3 con arreglo a este error y varios más. No se divulgan los bugs y errores de seguridad aún.
  • 3 de julio: Apple publica en su web los contenidos de seguridad de iOS 12.3, haciendo públicos los errores corregidos.

La razón de que no se hagan públicos los errores en el mismo momento en que se lanza iOS 12.3 es por seguridad. De esta manera, se da un tiempo prudencial para que la actualización se descargue e instale en una cantidad importante de dispositivos y así minimizar su posible explotación.

Por norma general, este tipo de errores tienen una fecha de publicación de 90 días desde su descubrimiento (y notificación a la empresa responsable). Una vez transcurrido ese tiempo o que se haya lanzado un parche, se hace público.

De nuevo, nos encontramos con una razón más para mantener los dispositivos de Apple actualizados. Incluso las versiones pequeñas pueden arreglar varios bugs de golpe. Con iOS 12.3, Apple ha solucionado más de veinte bugs, de los cuales unos ocho han sido encontrados por personal de Google Project Zero.

Comentarios cerrados
Inicio