Après les utilisateurs qui s’étaient amusés avec le bug “effective power” provoqué par un message texte sur l’iPhone, certaines personnes envoient depuis quelques jours un lien via un service de réduction d’URL de type goo.gl, Bitly, TinyURL et consorts pointant vers Crashsafari.com pour les utilisateurs du navigateur Safari d’Apple qui fait planter leur iPhone ou leur Mac. Également disponible pour Android et PC avec Crashchrome.com.

 

Le bug iOS (effective power) permettait à quelqu'un d'autre de faire planter votre téléphone avec un simple message texte.

effective.  Power لُلُصّبُلُلصّبُررً ॣ ॣh ॣ ॣ 冗
iOS bug

Cette fois, c'est une simple API Javascript permettant de manipuler l'historique de navigation qui est en cause. Dans un document HTML, la méthode history.pushState() ajoute un état à l'historique du navigateur.

<script>
                    var total = "";
                    for( var i = 0; i < 100000; i++ ) {
                        total = total + i.toString();
                        history.pushState(0,0, total );
                    }
                </script>
Script

 

crashsafaridotcom c01

 

Le lien Crashsafari.com ou Crashchrome.com, surcharge le navigateur par défaut avec une chaîne de texte d’auto-génération qui remplit la barre d’adresse et l’historique de navigation à la volée.

crashsafari.com/0
crashsafari.com/01
crashsafari.com/012
crashsafari.com/0123
crashsafari.com/01234
crashsafari.com/012345
crashsafari.com/0123456...

Après environ 20 secondes, l’iPhone plante et redémarre, tout en chauffant de manière significative sachant que le smartphone tente de gérer les milliers de nouvelles entrées du script. Une chose semblable arrive sur l’iPad, qui a également Safari, tandis que les appareils Android fonctionnant sous Chrome se réchauffent les circuits et deviennent léthargiques.

Un redémarrage de l’iPhone ou le fait de quitter Chrome sur un appareil Android règle le problème.

crashsafaridotcom Firefox

Il se peut que Firefox continue de générer le script après avoir vidé l’historique et redémarré l’application - a vérifier dans l’historique de navigation.