PDA

Voir la version complète : Quand Chrome et Opera plantent à cause de quelques caractères



lulupsg1978
21/09/2015, 08h14
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 (http://www.nextinpact.com/news/88178-bug-envoye-par-sms-chez-wiko-mises-a-jour-arrivent.htm) un « = » envoyé par SMS pouvait rebooter le smartphone du destinataire, tandis que les applications Messages d'iOS et Skype (http://www.nextinpact.com/news/95224-une-chaine-caracteres-fait-planter-application-messages-dios.htm) plantaient elles aussi avec une chaine de caractères bien précise.
C'est dans les vieux codes qu'on fait les meilleurs bugsAujourd'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 (http://andrisatteka.blogspot.fr/2015/09/a-simple-string-to-crash-google-chrome.html). 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 (https://github.com/szhu/3030). Le principe est simple : passer de haut en bas en ne survolant que les oursons. Un arbre et l'onglet Chrome plante.

http://az664837.vo.msecnd.net/images/bd/news/156167.pngOpera et Vivaldi aussi touchés, Edge et Firefox épargnésDe 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 (https://code.google.com/p/chromium/issues/detail?id=533361). 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() (https://chromium.googlesource.com/chromium/src/+/32352ad08ee673a4d43e8593ce988b224f6482d3/url/gurl.cc#254). 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.

Rédigé par Sébastien Gavois (http://m.nextinpact.com/news/96564-quand-chrome-et-opera-plantent-a-cause-quelques-caracteres.htm#)
Le lundi 21 septembre 2015 à 09:00