Feross Aboukhadijeh, un jeune développeur de 22 ans, vient de dévoiler une faille au niveau de l'implémentation du Local Storage de certains navigateurs. En effet, dans certains cas, il est possible d'écrire des données jusqu'à saturer complètement le disque dur... sauf si le navigateur plante avant évidemment.
Ce n'est pas la première fois que Feross Aboukhadijeh s'illustre. En effet, il est déjà à l'origine de la mise en évidence de la faille sur l'API Fullscreen de HTML5. Cette fois, c'est sur celle dédiée au stockage d'informations qu'il s'est penché : Local Storage.
Les navigateurs limitent la capacité du Local Storage...
Comme le préconise le World Wide Web Consortium (W3C) dans sa Candidate Recommandation concernant le Web Storage, les navigateurs ont mis en place une limite sur l'espace de stockage alloué aux différents sites. Elle varie suivant les cas et serait de 2,5 Mo pour Chrome, 5 Mo pour Firefox et Opera et 10 Mo pour Internet Explorer. Aucun souci sur ce point, tout fonctionne visiblement comme prévu.
En effet, le problème se situe sur la gestion des sous-domaines : a1.example.com, a2.example.com, a3.example, etc. Ce point est d'ailleurs abordé par le W3C qui met en garde sur cette possibilité de « contourner la limite de stockage ». En effet, il suffit de rester dans la limite définie par le navigateur, mais de les multiplier à l'infini afin de pouvoir stocker des données sans restriction.
... mais sous Chrome, IE et Safari il est possible de contourner les restrictions
Et dans la pratique, Chrome, Internet Explorer et Safari semblent touchés par ce souci et laissent un unique site saturer entièrement le stockage disponible... ou presque. En effet, il n'est pas rare que Chrome plante avant que l'on en arrive à cette étape.
Notez qu'un site spécialement conçu pour l'occasion a été mis en place à cette adresse. Mais attention, votre navigateur risque de ne pas beaucoup aimer cette expérience. Vous pouvez évidemment cliquer sur le bouton « Stop the Madness! » pour annuler toutes les opérations d'écriture en cours.
Exemple avec Internet Explorer 10 : 2,7 Go utilisés. De son côté, Chrome avait déjà planté depuis longtemps.
Firefox et Opera : les bons élèves de la classe
Avec Firefox 19 et Opera 12.14 les choses se passent différemment. En effet, dans le cas du navigateur de Mozilla, Feross Aboukhadijeh précise que la gestion du Local Storage se fait de manière « plus intelligente » (sans plus de précisions), tandis que, d'après nos constations, Opera demandera une autorisation à l'utilisateur une fois arrivé aux alentours de 70 Mo. Étrangement, aucune confirmation n'a été demandée lors d'une session privée.
Ces bugs ont bien entendu été signalés aux différentes sociétés proposant les navigateurs concernés. Gageons que des correctifs arriveront rapidement.
Commentaires (42)
#1
The internet is made of cats, and that’s a fact.
#2
The Joys of HTML5
C’est exactement çà " />
#3
Ce n’est pas la première fois que Feross Aboukhadijeh s’illustre
L’est féroce, le bougre. " />" />
——————>[_]
#4
Je n’ai pas bien compris… La limite est gérée par sous-domaine et pas par domaine, c’est ça ?
#5
“Le browser HTML5 sera le plus gros cheval de Troie dans l’histoire de l’informatique.”
Prédiction de Madame Irma, voyante astrocomputologue.
#6
dans le cas du navigateur de Mozilla, Feross Aboukhadijeh précise que la gestion du Local Storage se fait de manière « plus intelligente »
Firefox a juste implémenté LocalStorage correctement, la limite se fait par domaine, et non par sous-domaine comme précisé dans la spec.
#7
#8
#9
#10
#11
#12
#13
IE6 est touché ?
Pensons au personnel des grandes bureaucraties (privées et publiques)
#14
#15
Feross Aboukhadijeh précise que la gestion du Local Storage se fait de manière « plus intelligente »
Il est vendu aux libristes. C’est un attentat des libristes, je vous le dis.
Méchant, méchant libriste. " />
#16
#17
#18
#19
et hop le double post " />
#20
#21
C’est pas nouveau, j’ai eu le problème en developpant une web app avec phone gap sous android / ios il y a un an… si j’avais su j’aurais balancer l’info ^^
#22
#23
#24
J’ai désactivé le webstorage sur Opera depuis le début et ça empêche aucun site de fonctionner.
A part être des cookies plus chiant à effacer je vois pas l’intérêt immédiat " />
#25
#26
#27
#28
#29
j’ai utiliser le site en question pour voir la saturation du disque dur par la faille, et bien ça ma fait planter google chrome au bout de 980 mo sur un Windows 7 64 bits:
http://imageshack.us/photo/my-images/405/capture3cd.jpg/
" />
#30
Étrangement, aucune confirmation n’a été demandée lors d’une session privée.
Il n’y a que moi qui voit dans cette phrase un gros sous-entendu sur la raison majeure d’utiliser une session privée ? " />" />
#31
#32
#33
#34
Pour info voici la musique sur Youtube :http://www.youtube.com/watch?v=2Z4m4lnjxkY
#35
Yahoooo je suis avec mon petit FireFox " />
#36
#37
C’est exactement l’exemple que l’utilisation d’un seul moteur de rendu peut être problématique.
#38
Doc_Nimbus>C’est surtout l’exemple de l’utilité de l’implémentation de draft : voir les failles avant qu’elles ne soient normées.
#39
#40
sous IE 10/32bits, le remplissage ne dépasse pas les 2go (environ). test effectué sous Win 7/64bits.
#41
Nous sommes servis ; Applets Java, Applets Flash, IFRAME, PDF, JavaScript, Active X, et maintenant HTML 5. Va falloir revenir aux browsers en mode “texte” " />