パスワードを忘れた? アカウント作成
7719912 story
インターネット

HTML5 の Web ストレージ API に HDD の空き容量を簡単に埋められるバグ 16

ストーリー by reo
仕様上の問題か 部門より

ある Anonymous Coward 曰く、

スタンフォード大コンピューターサイエンス学科の学生である Feross Aboukhadijeh 氏は、Chrome、Safari、Opera の各ブラウザに共通する深刻なバグを発見した。これを悪用すれば、トラップを仕掛けられた Web ページをクリックするだけで、HDD などのローカルストレージが満杯にされてしまうらしい (Feross.org の記事Chrome の Issues本家 /. 記事より) 。

説明によれば HTML5 には、5 ~ 10 MB のデータを保存するための Web ストレージのための API が用意されているという。規定ではこの API を使用するとき、ブラウザ側で書き込み可能なデータの総量を制限するよう指定されており、Google Chrome では 1 ドメインあたり 2.5 MB、Firefox や Opera では 5 MB、Internet Explorer では 10 MB に制限が設定されている。しかし、1.filldisk.com、2.filldisk.com、3.filldisk.com などのサブドメインをたくさん作った場合、この制限を回避できてしまうようだ。

ただし、Aboukhadijeh 氏によれば、Firefox ではこの攻撃ができないように対策が施されているとのこと。

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
  • ご参考 (スコア:4, 参考になる)

    by Motohiko (15295) on 2013年03月04日 11時20分 (#2336301) ホームページ

    Bug 367373 [mozilla.org] - DOM storage quota should exclude offline-app allowed domains

    The mechanism implemented, however, is based on the -host- name which allows a malicious site to abuse the storage space by creating sub-domains. The spec warns against this too:

    User agents should consider additional quota mechanisms (for
    example limiting the amount of space provided to a domain's subdomains
    as a group) so that hostile authors can't run scripts from multiple
    subdomains all adding data to the global storage area in an attempted
    denial-of-service attack.

    6年前の仕様で既に警告されていたらしい (現行の仕様 [w3.org]だと"subdomains"ではなく"multiple domains"だけど)。

  • by Anonymous Coward on 2013年03月04日 12時14分 (#2336340)

    さあ、みんなもハードディスクを埋め埋めしよう!

    http://www.filldisk.com/ [filldisk.com] (ハードディスクが埋まるデモ。開くだけで猛烈に空き容量が減るので閲覧注意。空き容量を返してもらうボタンもあります)

    オープンソースでコードも公開されてるから、自分専用にカスタマイズすることもできるよ。やったね!

    https://github.com/feross/filldisk.js [github.com]

  • by Anonymous Coward on 2013年03月04日 11時04分 (#2336291)

    Firefox以外と聞いて思いついた単語ですけど。

    しかし、タレコミ文によるとブラウザ別にサイズが違いますね。
    設定値の違いかな?

    • Re:webkit? (スコア:3, すばらしい洞察)

      by Anonymous Coward on 2013年03月04日 11時16分 (#2336298)

      IEも(まだWebkit採用前と思われる)Operaも入ってますがな。

      仕様バグかと思いきや、標準自体はこの事態を想定しててちゃんとそういうのはまとめてサイズ上限設定しろよと書いてあるのに、Firefox以外のブラウザはその辺の実装をしていなかったってことですね。

      親コメント
  • by Anonymous Coward on 2013年03月04日 11時15分 (#2336297)

    1.filldisk.com、2.filldisk.com、3.filldisk.com などのサブドメインをたくさん作った場合、この制限を回避できてしまう

    でも、ホスティング業者を使っている場合、サブドメイン毎にサービス提供者が違うことが多いわけでして、勝手に制限されても、困るのではないか? 一番無難なのは、ドメインごとに、ストレージの使用許可をユーザに確認を取ることだろう。flashなんかでも、ドメインごとに使用可能ストレージのサイズを制限できるのだから、Webストレージも同じようにサブドメインを含むドメインとサイズを制限できれば問題ないだろう。

    • by T.Sawamoto (4142) on 2013年03月04日 11時43分 (#2336317)

      W3Cの仕様でも、「割り当て上限に達したら、ユーザに確認を取ってもよい(MAY)」とされています。

      Web Storage [w3.org]

      User agents may prompt the user when quotas are reached, allowing the user to grant a site more space.

      親コメント
    • by Anonymous Coward on 2013年03月04日 15時27分 (#2336460)

      むしろ、確認を取らずに勝手にローカルストレージを使う今の状況が異常。
      Firefoxのように全体で容量を制限していたとしても、そのブラクラにアクセスしただけで他のWebサイトがローカルストレージを使えなくなってしまう事に変わりはない。

      親コメント
      • by Anonymous Coward on 2013年03月05日 17時00分 (#2337270)

        いやいや…全く異常じゃないよ
        10年前数KBだったストレージ(Cookie)が数MBになったくらいのものだし
        1ドメイン10MB、サブドメイン100MB、全体で1000MBくらいは確認なしでいいと思う

        親コメント
        • by Anonymous Coward

          ドメイン辺り16KB全合計32MBとかで十分というか暗黙で受け入れても良いと思えるのは設定ファイル的な内容のクッキーくらいだから、そもそもローカルストレージを勝手に使われる時点で嫌だなぁ・・・

          # C:\の空き容量が2GB切ってるから1GBも食われたらたまらんとか言うわけではない・・・はず

          • by Anonymous Coward

            ローカルストレージも基本設定のためのものだよ
            画像とか大きなのは向かない、そういうのはIndexedDBとか非同期なのに入れる

            それに勝手に使われるってなによ?
            マニフェストキャッシュとかもいれると片手には収まらないくらいの種類のDBがある中ローカルストレージだけ文句言うのは変だよ
            それに一番基礎的なDBとしてある程度、5年10年後まで使えるような仕様じゃないといけないから10MBくらいあってもいい
            今のCookieみたいに10年後には10MBとか欠片みたいなものになるよ

  • IEの正しさが証明された (スコア:0, おもしろおかしい)

    by Anonymous Coward on 2013年03月04日 13時30分 (#2336394)

    HTML5に対応しないIEだけがHTML5に対応して悲惨な目にあっているブラウザたちを笑っている
    HTML5はやはり悪魔だったのだ

    • by Anonymous Coward

      IEも対象。後からIE抜きにしてタレコミしたのが採用されたから http://srad.jp/submission/50273/HDD%E3%81%AE%E7%A9%BA% [srad.jp]

    • by Anonymous Coward

      なんとひどいFUD
      ハードディスクを埋め尽くすどころか任意のファイルを書き込んで実行するウイルスを流行らせたブラウザの信者はさすが言うことが違いますね。

typodupeerror

ハッカーとクラッカーの違い。大してないと思います -- あるアレゲ

読み込み中...