Shoeisha Technology Media

CodeZine(コードジン)

特集ページ一覧

Twitterにスクリプトを実行できる「onMouseOver」脆弱性
ソーシャル・ワーム攻撃で顕在化、数時間で修正

  • ブックマーク
  • LINEで送る
  • このエントリーをはてなブックマークに追加
2010/09/22 12:35

 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による警告エントリ

  • ブックマーク
  • LINEで送る
  • このエントリーをはてなブックマークに追加
All contents copyright © 2005-2019 Shoeisha Co., Ltd. All rights reserved. ver.1.5