これまで何千ものウェブサイトにインストールされ、コンテンツをソーシャルメディア上にシェアする役割を果たして来た、WordPressのとある人気プラグインが、接続されたTwitterのアカウントを危険に晒していたことが発覚した。
問題のプラグインであるSocial Network Tabsは、WordPressで構築されたウェブサイトのソースコード中に、いわゆるアカウントアクセストークンを保存していたのだ。よってソースコードを見た人なら誰でも、接続されたTwitterハンドルとアクセストークンを見ることができたのだ。アクセストークンを使用することで、毎回パスワードを再入力したり、2要素認証コードを入力したりしなくても、携帯電話やコンピュータからウェブサイトへのログインを維持することができる。
しかし、もしそれが盗まれてしまった場合には、ほとんどのサイトはアカウントの実所有者が使用するトークンと、ハッカーが盗んだトークンを見分けることはできない。
フランスのセキュリティ研究者Baptiste Robert(オンラインハンドル名はElliot Alderson)がこの脆弱性を発見し、TechCrunchにその詳細を知らせた。そしてその後、詳細をツイートしている。
このバグを検証するために、Robertはウェブサイトのソースコード検索エンジンであるPublicWWWを使って、脆弱なコードを使用している539のWebサイトを発見した。その後彼は、概念実証スクリプトを作成し、影響を受けているウェブサイトかた公開されているコードを抽出して、400以上の接続済Twitterアカウントのアクセストークンを収集した。
取得したアクセストークンを使用して、Robertは彼の選んだツイートに対して、100回以上の「いいね」を行わせることで、それらのアカウントにアクセスできることを実証した。このことによって、流出したアクセストークンが「読み書き」権限を持っていることが明らかになった。事実上彼または悪意のあるハッカーに対してTwitterアカウントに対する完全な制御を明け渡したことになる。
脆弱なアカウントの中には、何件かの認証済Twitterユーザーや、数万人のフォロワーを抱えるいくつかのアカウント、フロリダの保安官事務所、オクラホマ州のカジノ、 シンシナティの屋外音楽場、その他が含まれている。
Robertは12月1日にTwitterに対して、このサードパーティー製プラグインの脆弱性について伝え、アカウントの安全性を取り戻すために、アクセストークンを無効にするように促した。Twitterはまた、影響を受けたユーザーに対して、WordPressプラグインのセキュリティ上の問題について電子メールを送信したものの、それがいつ届けられたかに関してのコメントは行っていない。
Twitterは自分のできることは行ったが、その手の届かない範囲で起きているセキュリティの問題に対しては、できることは多くない。まだ問題のプラグインを使用しているWordPressユーザーは、直ちにプラグインを削除し、Twitterのパスワードを変更して、利用しているアプリがTwitterの接続済アプリから確実に削除されるようにすべきだ。
このバグを抱えたプラグインを開発した、バンコクを拠点とするソフトウェア会社Design Chemicalは、この記事の公開前に当方が送ったコメント要請に対して、返信をしてきていない。
彼らのウェブサイト上では、7年間にプラグインが5万3000回以上ダウンロードされたと述べられている。最後に更新されたのが2013年であるこのプラグインは、今でも毎日数十件のダウンロードが続いている。
MITREは脆弱性識別番号としてCVE-2018-20555を割り当てた。これはRobertが同時期に暴いた2番めの脆弱性である(Robertによる解析コードのGitHub)。1番めの脆弱性に関しては以下の記事を参照。
[原文へ]
(翻訳:sako)