L’étrange chaîne de caractères qui fait planter un iPhone via iMessage, un bug mystérieux apparu hier, a fait sortir Apple de son silence. Le constructeur a réagi en déclarant être au courant du problème « causé par une suite spécifique de caractères unicode, et nous travaillons sur un correctif qui sera disponible dans une prochaine mise à jour ». Ce message contient des caractères arabes, chinois et marathi.
Le bug, facile à reproduire, consiste à envoyer à un correspondant la fameuse suite de caractères : à réception, elle fera planter iMessage et redémarrera l’iPhone, sans autre forme de procès. Le problème ne touche d’ailleurs pas que le smartphone : l’Apple Watch redémarre également lorsqu’elle reçoit les fameux caractères, comme l’écrit le Guardian.
Et ce n’est pas tout, puisque l’iPad et même OS X sont concernés (dans une moindre mesure pour le Mac, qui ne redémarrera pas). Il suffit, comme un de nos lecteurs nous l’a précisé, de recevoir une notification contenant les caractères en question pour faire planter l’appareil.
En fait, c’est le noyau CoreText qui cale complètement : cette suite de caractères Unicode cause un buffer overflow qui sature la mémoire du terminal — ce dernier n’a plus comme seule échappatoire que de redémarrer. Et à chaque fois qu’il tente d’afficher la suite (dans le Centre de notifications, par exemple), l’histoire se répète.
Si les possibilités de mauvaise blague ont dû traverser l’esprit des plus farceurs, mise entre de mauvaises mains, cette faille pourrait être exploitée par des malandrins. Pour éviter les problèmes, il est toujours possible de désactiver l’affichage de notifications d’iMessage, une solution un peu bancale en attendant le correctif.