GoogleスプレッドシートのA1セルにHTMLを書いてCSVで保存すると…
2008/04/16
Google Docsには今のところワードプロセッサ、スプレッドシート、プレゼンテーションの3つのアプリケーションが用意されているわけだが、うちスプレッドシートアプリケーションにIEに関連した興味深い脆弱性があることが発覚した。これはセキュリティエンジニアのBilly Rios氏によって発見されたもの。すでに同脆弱性は修正されているが、Gmailのクロスサイトリクエスト偽装のときのように注意しておくべき内容だ。
この脆弱性(クロスサイトスクリプティング)を利用された場合、攻撃者はGoogleが提供しているGmailやGoogle Code、Google Docsのほかのサービスなど許可されていないサービスへのアクセスが原理的に可能になる。これはIEがContent-Typesの指定されたコンテンツの解釈における微妙な違いをついたものだ。
Google DocsスプレッドシートのデータをCSV形式で保存(ダウンロード)する場合、Content-Typeが"text/plain"に設定される。この設定によってユーザの使っているWebブラウザは保存されるデータを通常のテキストファイルとして扱うようになる。しかし、CSVの最初にHTMLタグが含まれている場合、IEはこれをテキストデータではなくHTMLデータとして処理すべきコンテンツであると判断して処理を実施する。
テキストデータ(CSVデータ)として保存したものがHTMLとしても処理可能ということは、原理的に言えばデータを保存する段階で任意のJavaScriptコードがGoogle Docsのサイトで実行可能ということだ。脆弱性の内容を理解していないユーザが送られてきたデータをGoogle Docsで開いてCSVデータとして保存する、またはそれと同等のことをさせるというのが現実的な内容かどうかは検討する必要があるが、結果としてユーザのセッションクッキーを取得できる脆弱性があったということになる。Googleはすでに同脆弱性に対処しており、また同脆弱性による被害報告はないとしている。
Google Docsの想定が甘かったのかIEの推論がお節介だったのかはわからないが、Webアプリケーションには常にこういった脆弱性が発生する可能性があるということは常に知っておいた方がいい。
関連記事
- GmailのCSRF脆弱性修正 - デベロッパもユーザもCSRFに対して認識を[2007/10/1]
関連サイト
この記事を読んだ人は以下の記事も読んでいます
ヘッドライン
- Rambus、次世代携帯機器向けメモリ「モバイルXDR」を発表[21:16 2/9]エレクトロニクス
- Intel、基幹業務システム向け次世代プロセッサ「Itanium 9300」を発表[20:47 2/9]エレクトロニクス
- MicronとNanya、42nmプロセスを採用した2GビットDDR3を開発[20:07 2/9]エレクトロニクス
- ISSCC 2010 - 日立、1Gbpsあたり消費電力1mW以下のトランシーバ回路を開発[19:52 2/9]エレクトロニクス
- CSSを最適化する3つのツール[17:17 2/9]JavaScript / CSS / HTML
- TIOBEプログラミング言語人気 - Scratch/Erlang/Scala/JavaFX[17:17 2/9]プログラミング
- Microsoft、Red Hat Linuxサポートをひっそり追加[17:15 2/9]システム管理
- IBM、8コア/32MB eDRAM搭載の高速CPU「POWER7」を発表 - サーバも販売開始[17:02 2/9]サーバとストレージ
- 【レポート】UTM最新動向 - クラウドに耐えうる処理性能と管理性の強化が進む[14:42 2/9]セキュリティ
- あるコンパイラが重要なマイルストーンに到達、LLVM Clang[14:06 2/9]プログラミング




