Skip to content

Instantly share code, notes, and snippets.

@mala
Created December 17, 2013 05:44
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save mala/63d8b17e3b321f5fdc5c to your computer and use it in GitHub Desktop.
Save mala/63d8b17e3b321f5fdc5c to your computer and use it in GitHub Desktop.
CVE-2013-4710 JVN#53768697 に関するメモ

CVE-2013-4710 JVN#53768697 に関するメモ

検証用URL

経緯と関連するリンク

概要

addJavascriptInterfaceを明示的に使用していなくても、標準のWebViewコンポーネントを組み込んでいるだけで脆弱性になります。

詳細

多くのWebViewで勝手にaddJavascriptInterfaceが使われている問題が修正されたコミットはこちら。

SearchBoxImplに関しては削除されましたが、ユーザー補助のtalkback機能を有効にしている場合にも、addJavascriptInterfaceが自動で使われています。 Android 4.2でユーザー補助有効にした状態において、WebViewを組み込んだアプリの多くで脆弱性があることを確認しています。

「addJavascriptInterfaceを使っていると危険だ」という情報は広く公開されている状態でしたが、 addJavascriptInterfaceを明示的に使っていなくても、自動で使われている、WebViewコンポーネントで任意のURLを開けるだけで危険だ、という問題について言及が避けられていました。 (もっとも実際に検証コードを書けば、多くのアプリに脆弱性があることが容易に分かる状態でした)

4.2

4.3

4.4では、自分の知る範囲で、アプリケーションのContextオブジェクトを取得する方法がなくなっています。(ジャバに詳しくないので確証が持てません)

残っている問題

  • 4.2, 4.3の場合でも設定次第で問題が残っていると考えられます(メーカーが独自で対処していない限り)
  • 4.2, 4.3の場合で、ブラウザアプリが拡張機能などのために明示的にaddJavascriptInterfaceを使っているケース(いくつか事例を把握)
  • 4.4できちんと修正されているのかの検証

対策

  • アプリケーションの持つパーミッションによっては影響が大きくなるので、開発元の提供する信用できるURLしか表示しないように制限する(それ以外は外部ブラウザで開く)
  • その上で回線が信用できないケースを想定して、httpsの使用を必須にする(画像や動画など単なる埋め込みリソースや、別途ハッシュ値の検証などがあるケースは除く)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment