LocalStorage di HTML5 è certamente una "grande invenzione", consente di avere molto più spazio sui client, superando le limitazioni dei cookie. Con localStorage infatti si possono salvare sui client fino a 10 MB di dati per sito (dipende dal browser usato) contro i soli 4KB riservati ai cookie. Tuttavia, non sempre lo spazio a disposizione viene usato per fini "leciti", ne è la dimostrazione FillDisk.
Si tratta di un proof-of-concept realizzato da Feross Aboukhadijeh, che consente di sfruttare localStorage per inondare l'hard disk dei client, saturandolo. Il trucco usato da Aboukhadijeh consiste nello sfruttare localStorage e il mancato controllo da parte dei client del salvataggio dati da parte dei sottodomini. I browser "vulnerabili" sono praticamente tutti quelli in commercio, ad esclusione di Firefox.
La demo pubblicata consente di:
- Saturare l'hard disk usando Chrome, Safari (sia per iOS che in versione desktop), Opera e Internet Explorer (compreso IE10).
- In alcuni casi, come con Chrome, il browser può andare in crash prima che l'hard disk sia stato riempito;
L'autore ha già segnalato il problema ai rispettivi vendor con dei bug report, dunque la vulnerabilità dovrebbe essere corretta a breve.
Il codice sorgente del proof-of-concept è disponibile su Github, per i più coraggiosi invece si può provare la demo.