Quand Chrome et Opera plantent à cause de quelques caractères

Quand Chrome et Opera plantent à cause de quelques caractères

13 suffisent pour les crasher

Avatar de l'auteur
Sébastien Gavois

Publié dans

Logiciel

21/09/2015 3 minutes
38

Quand Chrome et Opera plantent à cause de quelques caractères

Chrome, Opera et Vivaldi, trois navigateurs basés sur Chromium, réagissent bien mal à certaines URL contenant des caractères bien particuliers. Pour les deux premiers, cela va même jusqu'au plantage pur et simple.

Au cours des derniers mois, plusieurs éditeurs/fabricants ont dû faire face à un problème pour le moins insolite : un simple message provoquait parfois des problèmes à répétitions. Chez Wiko un « = » envoyé par SMS pouvait rebooter le smartphone du destinataire, tandis que les applications Messages d'iOS et Skype plantaient elles aussi avec une chaine de caractères bien précise.

C'est dans les vieux codes qu'on fait les meilleurs bugs

Aujourd'hui, c'est Google qui est sur le devant de la scène avec un problème similaire sur Chrome qui a été mis en lumière par Andris Atteka. Il explique qu'il suffit de valider une URL d'un des types ci-dessous dans la barre d'adresse pour faire complètement planter le navigateur, l'obligeant à rebooter :

http:/a/%%30%30
http:/a/%%300
file:///%%300

Notez qu'il s'agit d'une liste non exhaustive et que bien d'autres combinaisons sont possibles, notamment en remplaçant le « a » par d'autres caractères ou bien par des adresses de sites comme http:/nextinpact.com/%%300. Et ce n'est pas tout puisque, s'il s'agit d'un lien hypertexte placé sur un mot ou une image par exemple, il suffit de passer la souris dessus pour que l'onglet plante. Il en entraine parfois d'autres avec lui dans sa chute, mais cela ne provoque dans tous les cas pas un crash complet du navigateur.

Certains s'en amusent et ont même développé un jeu basé sur ce bug. Le principe est simple : passer de haut en bas en ne survolant que les oursons. Un arbre et l'onglet Chrome plante. 

Chrome bug jeu

Opera et Vivaldi aussi touchés, Edge et Firefox épargnés

De notre côté, nous avons tenté la même expérience sous Edge et Firefox, sans aucun problème. Par contre, on retrouve exactement le même souci sur Opéra, ce qui n'est pas une surprise étant donné qu'il se base sur Chromium 45 (tout comme Chrome). Plus étonnant par contre, Vivaldi (qui exploite également Chromium) ne plante pas avec ce genre d'URL, mais un survol de lien hypertexte du même acabit par la souris  provoque une erreur sur la page.

Un ticket a évidemment été ouvert sur le site du projet Chromium. Il reprend tous les détails connus sur ce bug et, selon un des développeurs, « il semble que le plantage s'effectue dans un très vieux code », probablement dans la fonction GURLToDatabaseURL(). Dans tous les cas, les équipes de Chromium et de Google sont sur la brèche et une mise à jour devrait prochainement corriger le tir. De son côté, Andris Atteka précise qu'il n'a « malheureusement pas reçu de récompense, car ce bug est considéré comme une vulnérabilité DOS ».

Si le problème n'est effectivement pas une faille de sécurité à proprement parler et qu'elle n'entraine pas de fuite de données, il reste potentiellement gênant. On peut en effet imaginer des sites, des emails ou bien des messages instantanés contenant ce genre d'URL afin de provoquer un plantage du navigateur du correspondant.

Écrit par Sébastien Gavois

Tiens, en parlant de ça :

Sommaire de l'article

Introduction

C'est dans les vieux codes qu'on fait les meilleurs bugs

Opera et Vivaldi aussi touchés, Edge et Firefox épargnés

Fermer

Commentaires (38)


Lol


Le jeu <img data-src=" />


Et c’est pour ça que lorsque l’on utilise des String, soit on fait très attention, soit on utilise des classes bien faites.


Sympa merci ^^


P-A contribue au developpement de Chromium ?


Et pour rendre le jeu plus marrant on le met à la fin d’un formulaire bien long pour le valider ^^. (Pourquoi pas pour valider un commentaire sur NextInpact? :))


L’avantage des bases communes, tout le monde se partage les bugs.

Après ça semble être aussi pas mal lié à l’intégration si le comportement de Vivaldi diffère des autres…


Safari ne plante pas.


Je ne peux plus utiliser feedly :(


Pas de souci sur Opera pourtant (12.17 :P)


Qui utilise Safari ?








Highmac87 a écrit :



Safari ne plante pas.







C’est parce que personne ne l’ouvre. <img data-src=" />



Faire un jeu à partir d’un bug, c’est quand même fort. <img data-src=" />


Vivaldi 1.0.278.17 plante AUSSI avec&nbsp;http:/domain.tld/%%300 &nbsp;ouhttps://vivaldi.com/%%30%30&nbsp;:)


“Quand Chrome et Opera Chromium plante à cause de quelques caractères” aurait été plus juste dans le titre.


plutôt “quand tous les navigateurs basés sur Chromium” plutot … parce que si tu dis que Chromium plante, perso, je ne me sens pas concerné&nbsp;<img data-src=" />








piwi82 a écrit :



“Quand Chrome et Opera Chromium plante à cause de quelques caractères” aurait été plus juste dans le titre.





J’utilise Chromium et il ne plante pas.&nbsp;



Du coup c’est quand même étrange que 3 navigateurs utilisent une même implémentation foireuse…








ra-mon a écrit :



Vivaldi 1.0.278.17 plante AUSSI avec http:/domain.tld/%%300  ouhttps://vivaldi.com/%%30%30:)







Normal, on est en Chromium 45.0.2454.8 depuis la 1.0.170.16.

Ca plante aussi sur le dernier snap en 1.0.179.3









lyni a écrit :



Qui utilise Safari ?





La palanqué d’utilisateur d’iPhone et de Mac :)









wanou2 a écrit :



La palanqué d’utilisateur d’iPhone et de Mac :)





Palanquée.

Grammar Nazi mode.



Pas de soucis sur Maxthon, basé aussi sur chromium (26 <img data-src=" />), je garde la main sur la page et le navigateur.


Je croyais que c’était basé sur Blink et pas sur le navigateur Chromium “en entier” ?








CryoGen a écrit :



Je croyais que c’était basé sur Blink et pas sur le navigateur Chromium “en entier” ?







Opera 15+ et Vivaldi sont tous deux basés sur Chromium.



C’est lundi. Il faut laisser les gens le temps de se réveiller.








gokudomatic a écrit :



Faire un jeu à partir d’un bug, c’est quand même fort. <img data-src=" />





Mais au moins tu ne peux pas tricher sous chrome :p



Je confirme, Opera 32.0 plante bien. Il y a moyen de faire chr quelques chalands sur Facebook avec ça.


Confirmé, plante sous Linux également.


Apparemment il y a un workaround pour éviter le plantage en attendant le patch.


Donc les version mobile plante aussi, merci ;)


Trop fort le jeu de la forêt :)


<img data-src=" />








Mithrill a écrit :



Quand je pense à l’énorme gâchis avec l’abandon de Presto ça fait mal au cul. Opera aurai pu en tirer un bon prix au lieu de le laisser à l’abandon

&nbsp;





Presto n’est pas encore abandonné : il tourne sur des fermes de serveurs en Islande (et peut-être ailleurs) pour tous les clients Opera Mini qui lui demandent des pages à compresser <img data-src=" />









Mithrill a écrit :



Quand je pense à l’énorme gâchis avec l’abandon de Presto ça fait mal au cul. Opera aurai pu en tirer un bon prix au lieu de le laisser à l’abandon







Bien qu’il n’évoquait que l’indifférence totale, je pense qu’ils auraient pu faire comme Netscape à l’époque et publier le code source.

Au mieux ça aurait peut-être donné naissance à un nouveau projet. (il me semble que Phoenix Firefox est né des cendres de Netscape)

Au pire ça l’aurait laissé dans l’indifférence complète, ce qui donc n’aurait rien changé. <img data-src=" />