SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

CodeZineニュース

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

  • X ポスト
  • このエントリーをはてなブックマークに追加

  • X ポスト
  • このエントリーをはてなブックマークに追加

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

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
この記事の著者

CodeZine編集部(コードジンヘンシュウブ)

CodeZineは、株式会社翔泳社が運営するソフトウェア開発者向けのWebメディアです。「デベロッパーの成長と課題解決に貢献するメディア」をコンセプトに、現場で役立つ最新情報を日々お届けします。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/5472 2010/09/22 12:35

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング