2017年2月26日日曜日

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

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の影響が最も大きいとのこと。

0 comments:

コメントを投稿