Twitterに任意のスクリプトを実行できる脆弱性があり、21日夜には自身をツイートするワーム的な攻撃コードにより被害が急速に拡大したが、午後10時50分(日本時間、西海岸時間では午前6時50分)に問題が修正され、現在では収束している。
この脆弱性は、フォームから入力されたツイートのエスケープ処理が不完全で、URLが自動リンクされる際に、a要素内に任意のHTMLオプションを埋め込むことができるもの。攻撃コードがonMouseOverイベントを利用していたため、「onMouseOver」問題と呼ばれている。Twitterブログの事後説明によると、この不具合は8月中に発見されて修正されたものの、最近のアップグレードで再発していた。
21日午後4時半ごろ、この不具合が修正されていないことに気づいたある利用者が、@RainbowTwtrというアカウントで、この脆弱性を利用して次のような実験コードを公開した。
http://twitter.com/RainbowTwtr#@"style="背景色などを設定するスタイル"/
このツイートの文字列中で、/と/の間に@があると、その@に続くダブルクオーテーションがエスケープされず、そのまま出力される。このため、このツイートがTwitterによって自動リンクされる際に以下のHTMLが生成され、a要素のなかにstyleオプションを埋め込むことができる。
<a href="http://twitter.com/RainbowTwtr#@" style="スタイル" /">http://twitter.com/RainbowTwtr……
これによって発言エントリが単色に塗り分けられ、並べてみると虹のように見えるという内容だった(現在は問題アカウントとして削除済み)。この@RainbowTwtrはスタイルを設定するだけのほとんど無害なものだったが、同じ手法で多様なコードを埋め込むことができるため、マウスオーバーしたときにonmouseoverで外部サイトのスクリプトを実行する手法が、数時間のうちに確立したと見られる。
実行される外部スクリプトには、ツイートの入力フォームに自分自身を書き込んでサブミットするものがあり、閲覧者がこのリンクにマウスオーバーするだけで外部スクリプトが実行され、攻撃ツイートが自分の発言としてTwitterに書き込まれる。それを見たフォロアーのタイムラインでまたスクリプトが実行され拡散するという、ソーシャルメディアのソーシャル性を利用したワームとなっていた。
Twitterでは、悪用されていることを午後6時54分に認識して対策に入り、約4時間後には対策を終えたとしている。なお、この脆弱性はTwitterの現行のWebクライアントでのみ発生し、プレビュー中の新インターフェースやモバイルサイト、モバイルやPC用のクライアントアプリケーションでは問題が起きてないとされている。
【関連リンク】
・Twitterブログ: 「マウスオーバーの」問題についての全容
・How Twitter worm "onmouseover" (and other ;) works - Pastebin.com - 攻撃ツイートの解説
・2010 年 9 月 21 日現在のツイッターのバグ(脆弱性)について
・Twitter ‘onmouseover’ security flaw widely exploited | Graham Cluley's blog - セキュリティ会社Sophosによる警告エントリ
この記事は参考になりましたか?
- この記事の著者
-
CodeZine編集部(コードジンヘンシュウブ)
CodeZineは、株式会社翔泳社が運営するソフトウェア開発者向けのWebメディアです。「デベロッパーの成長と課題解決に貢献するメディア」をコンセプトに、現場で役立つ最新情報を日々お届けします。
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です