HTML5 et Local Storage : quand Chrome, IE et Safari saturent votre disque

Avec des Lolcats en plus !

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.

html5

 

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.

 

Internet Explorer Filldifk

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.

Vous n'avez pas encore de notification

Page d'accueil
Options d'affichage
Abonné
Actualités
Abonné
Des thèmes sont disponibles :
Thème de baseThème de baseThème sombreThème sombreThème yinyang clairThème yinyang clairThème yinyang sombreThème yinyang sombreThème orange mécanique clairThème orange mécanique clairThème orange mécanique sombreThème orange mécanique sombreThème rose clairThème rose clairThème rose sombreThème rose sombre

Vous n'êtes pas encore INpactien ?

Inscrivez-vous !