MASTG-BEST-0013 WebView でコンテンツプロバイダアクセスを無効にする (Disable Content Provider Access in WebViews)

WebSettings の他のファイルコンテンツアクセスメソッドとは異なり、setAllowContentAccess メソッドのデフォルトは常に true です。したがって、コンテンツプロバイダへのアクセスが明示的に必要でない場合は常にsetAllowContentAccess メソッドが false に設定され、WebView がコンテンツプロバイダにアクセスできないようにしてください。

なぜこれが重要なのか?

WebView でコンテンツへのアクセスを有効にすること自体は脆弱性ではありませんが、攻撃者が脆弱性に連鎖する方法の数を増やすことになります。たとえば、XSS やその他のインジェクション脆弱性と組み合わせた場合 (あるいは、信頼できないリモートコンテンツを表示するために WebView を使用する場合)、攻撃者が機密データを読み取ってリモートサーバーに送り返すことができる可能性があります。

多くの「セーフガード」 (CORS制限や、エクスポートされていないプロバイダが外部の呼び出し側にデータを提供しないなど) がありますが、アプリ自体のコンテンツプロバイダはエクスポートされていない場合でもアクセス可能です。これはアプリのプライベートストレージ (内部ストレージと外部ストレージの両方) にアクセスできる可能性があります。また、アプリのパーミッション (READ_MEDIA_IMAGES など) によっては、共有ストレージ/外部ストレージにある他のアプリのファイルにもアクセスできる可能性があります。

Last updated

Was this helpful?