Developpez.com

Le Club des Développeurs et IT Pro

Un bug iOS peut planter l'application de message d'un iPhone et redémarrer le dispositif

Après réception d'un message étrange

Le 2015-05-27 16:33:09, par Michael Guilloux, Chroniqueur Actualités
Un utilisateur de l'iPhone a signalé une anomalie qui fait planter l’application Message d’un iPhone et qui conduit au redémarrage des dispositifs iOS. Le bug se produit lorsque l'un de vos correspondants vous envoie un iMessage depuis son iPhone. Le texte envoyé présente toutefois une certaine particularité. Il s’agit d'un message incluant une chaine de caractères bien précise et apparemment en langue arabe.


Les utilisateurs qui ont essayé de faire une blague à l’un de leurs amis en leur envoyant le message ont pu confirmer la véracité du bug. Comme résultats, plusieurs utilisateurs d’iPhone ont vu leurs appareils redémarrer après que l’application de messages se soit plantée, lorsqu’ils ont essayé de répondre à leur correspondant.

Tant que le fil de discussion avec l’expéditeur du message se termine sur le texte à l’origine du bug, toute tentative d’ouvrir l’application de messages faire planter encore l’application de sorte qu’elle soit inaccessible.

Ce n’est pas la première fois qu’un texte composé de chaines de caractères spécifiques arrive à bloquer un dispositif Apple. Les navigateurs d’iOS et OS X présentaient des bugs similaires en 2013, pour lesquels Apple a déployé des correctifs.

La firme de Tim Cook a été informée de l’existence de ce nouveau bug et travaille pour sortir un correctif très bientôt pour éviter que des utilisateurs s’amusent à gâcher le plaisir de leurs amis propriétaires d’iPhone. Les dispositifs iOS 8.3 sont affectés par cette faille, mais les autres versions semblent ne pas être épargnées selon les tests des utilisateurs. Les appareils iPad et iPod Touch sont tout aussi concernés que les iPhone.

En attendant la solution de la pomme croquée, les utilisateurs ont fini par trouver quelques alternatives pour arrêter le plantage de l’application de message d’Apple. Le bug se produit tant que vous essayez d’accéder à l’application, alors que le texte à l’origine du bug est le dernier message reçu. Le principe de la solution est donc de positionner un autre message en dernière position dans le fil de discussion. Pour cela, la victime peut s’auto-envoyer un message à partir de l’application de message de Mac ou encore utiliser Siri. Dans le dernier cas, elle pourra juste dicter le message à envoyer à son correspondant.

Source

Et vous ?

Qu’en pensez-vous ?
  Discussion forum
11 commentaires
  • Le Vendangeur Masqué
    Nouveau Candidat au Club
    Envoyé par Gugelhupf
    J'ai l'impression que leur fonctionnalité qui interprète les chaines de caractères exécute une commande lorsqu'il lit une séquence "magique" d'octets.
    Non je pense plus à un problème de calcul de longueur de chaîne qui doit déborder d'un buffer. N'oublions pas qu'iOS et OS X savent par exemple faire le distinguo entre "œ" et "oe" compté selon la méthode employé comme 1 ou 2 caractères. Je pense à un problème similaire avec ces caractères arabes.

    Envoyé par sazearte
    Le hasard, comme la plupart des grandes découverte.
    Sauf que là j'ai du mal à qualifier ça de "grande" découverte.

    Envoyé par 23JFK
    Chez Apple, Les caractères exotiques qui engendrent des failles de sécurités/fonctionnement sont un problème assez récurrent.
    Faudrait mettre au crédit d'Apple qu'ils furent parmi les premiers à intégrer à leur OS une gestion unicode ainsi que d'autres jeux de caractères quand sur d'autres systèmes on ne voyait le monde qu'en 256 caractères (et sans vouloir être méchant ça leurs suffisaient déjà pour avoir des problèmes ). Y'a donc sûrement des choses à dépoussiérer comme le montre ces problèmes…
  • La grande question est : comment le mec à découvert cela? (Un peu comme le mec qui a eu l'idée de traire une vache "pour voir" ..)
  • RyzenOC
    Inactif
    La grande question est : comment le mec à découvert cela?
    Le hasard, comme la plupart des grandes découverte.
  • Envoyé par sazearte
    Le hasard, comme la plupart des grandes découverte.
    Oui c'est sûr mais là... C'est assez fou.
  • 23JFK
    Membre expert
    Envoyé par NotNow
    Oui c'est sûr mais là... C'est assez fou.
    Chez Apple, Les caractères exotiques qui engendrent des failles de sécurités/fonctionnement sont un problème assez récurrent. Ce n'est sans doute pas totalement par hasard que le problème a été découvert, j'aurais plutôt tendance à penser que cette découverte provient d'une tentative d'exploitation de nouvelles faille 0-day concernant leur système de messagerie.
  • Gugelhupf
    Modérateur
    Un problème similaire est déjà apparu il y a quelques temps.
    J'ai l'impression que leur fonctionnalité qui interprète les chaines de caractères exécute une commande lorsqu'il lit une séquence "magique" d'octets.
    La première fois ils ont peut-être "déplacé" le problème sans l'avoir résolu à la racine, ce problème risque encore de surgir... surtout si les personnes malveillantes arrivent à repérer l'emplacement de ces séquences :eldiablo:
  • Cvanhove
    Membre régulier
    On pourrait m'éclairer sur la langue utilisé pour ça? J'aurais bien fait la blague à un collègue
  • Envoyé par Cvanhove
    On pourrait m'éclairer sur la langue utilisé pour ça? J'aurais bien fait la blague à un collègue
    langue latine - langue arabe - langue inconnue ? - langue chinoise
  • foetus
    Expert éminent sénior
    Envoyé par Le Vendangeur Masqué
    Non je pense plus à un problème de calcul de longueur de chaîne qui doit déborder d'un buffer. N'oublions pas qu'iOS et OS X savent par exemple faire le distinguo entre "œ" et "oe" compté selon la méthode employé comme 1 ou 2 caractères. Je pense à un problème similaire avec ces caractères arabes.
    Cela serait étonnant parce que que soit en unsigned char - UTF-8 ou en wchar_t - UTF-16 tu n'as qu'à compter jusqu'au caractère nul '\0' / L'\0'.
    Et pour les histoires de ligatures ou autres, ce n'est que de la validation Unicode (pour savoir si les codes sont valides)

    Et même un buffer de taille fixe n'explique pas ce comportement avec un débordement et 1) reproductible à 100% apparemment donc impossible que ce soit de l'aléatoire 2) le problème se situe au milieu de la chaîne de caractères
  • iTruc
    Nouveau membre du Club
    Pour ceux qui ont un iDevice jailbreaké, un tweak qui règle ce problème est sortit (iOS 8 uniquement) : http://www.reddit.com/r/jailbreak/co..._the_infamous/