Cloudflareのバグで別のユーザーのCookieやパスワードが送信される

2017年2月26日 16:38

CloudflareのHTMLパーサーのバグにより、同社のリバースプロキシを使用するWebサイトにアクセスすると、別のユーザーのCookieや認証トークン、パスワード、APIキーなどを含むデータが送信される状態になっていたそうだ(Cloudflareのブログ記事Project Zero — Issue 1139The Registerの記事The Vergeの記事)。 このバグはバッファー終端のチェックで「>=」ではなく「==」を使用していたため、ポインターがバッファー終端を超えていることを認識できないというものだ。そのため、破損したHTMLタグを含むページを処理するとバッファーオーバーランによるメモリーリークが発生し、別のユーザーのデータが一緒に送信されることになる。バグを発見したGoogleのTavis Ormandy氏は、Heartbleedのようなバグと説明しつつ、「Cloudbleed」と呼ばないように求めているが、既にロゴも作られてしまっている。 このパーサーは数年前から使われているが、バッファーの扱いが異なっていたため問題が発生することはなかったという。しかし、新パーサーへの移行を開始した際にバッファーの扱いが変更されたことで、影響が表面化することになる。影響を受けた機能は「Email Address Obfuscation」「Server-side Excludes」「Automatic HTTPS Rewrites」だが、2月13日に移行を始めたEmail Address Obfuscationの影響が最も大きいとのこと。 18日にGoogleのTavis Ormandy氏からバグ報告を受けたCloudflareでは、これらの機能を数時間のうちに無効化し、21日までにバグを修正して再度有効化している。また、GoogleやBingなどサーチエンジンがキャッシュしたページにもユーザーのデータが含まれている可能性があるため、各社の協力によりバグ公表前にキャッシュデータのクリアも行われたとのことだ。 Cloudflareでは影響を受けるWebサイトを公表していないが、CloudflareのDNSを使用するドメインのリストがGitHubで公開されている。ただし、リストに含まれるすべてのドメインが影響を受けるとは限らず、リストに含まれないドメインが影響を受ける可能性もある。データは400万件を超える大規模なものだが、README.mdには有名サイトおよびAlexa top 10,000のサイトが抜粋されているので、参照するといいだろう。また、ドメインを入力することでCloudflareを使用しているかどうかを確認できる「Does it use Cloudflare?」というWebサイトも公開されている。 影響を受けるWebサイトを利用している場合、パスワードの変更やログアウト、新しいAPIキーへの切り替えなどが推奨される。なお、SSLサーバー証明書の秘密鍵は漏洩していないとのことだ。

関連記事

最新記事