Chrome Toolboxの脆弱性を見つけてGoogleから1000ドルもらった
Googleのウェブサービスやソフトウェアに脆弱性を見つけると金がもらえる。詳細。世界中のスーパーハカーが探しているから簡単に見つかる脆弱性なんてもう残っていないだろうと思っていたが、偶然見つけてしまい、報酬として1000ドルもらった。
Chrome Toolbox
Chrome ToolboxはGoogle謹製のChrome拡張で、Chromeに細々とした機能を追加してくれる。タブをマウスホイールで切り替えられる機能と、ウィンドウを閉じようとしたときに警告してくれる機能が便利で使っていた。他にも画像を壁紙に設定するとか、フォームの自動入力とかの機能がある。NPAPIを使用していて、ChromeのNPAPIが削除されることから、最初はストアから消え、復活したと思ったらChrome Toolboxをアンインストールするだけのアプリになっていた。これが自動アップデートでインストールされるので今動いているChrome Toolboxは無いはず。
脆弱性の詳細
単純なDOM Based XSS。フォームの自動入力のページタイトルやURLと、ショートカットキーで開くページをブックマークから選択する箇所でエスケープがされていなかった。
Chrome Toolboxを無理矢理manifest v2に対応させて動かしてみたけど、Content Security Policyのせいで、imgタグのonerrorは動かなかった。Content Security Policyすごい。
コードを見るとinnerHTMLやevalを多用していて、あまりセキュリティのことを考えていないようだった。扱うデータは基本的にユーザーが入力するものだからかもしれない。
攻撃者が狙って攻撃することは難しそうだけど、この脆弱性を発見したのはタグを含んだページの上で間違ってフォームの内容を保存するショートカットキー(F10)を押してしまったからなので、タイトルに細工した罠ページを作れば引っ掛かる人がいるかもしれないと添えて報告した。