MASTG-BEST-0013: Desativar Acesso a Content Provider em WebViews
Diferentemente de outros métodos de acesso a conteúdo de arquivo do WebSettings, o método setAllowContentAccess sempre tem como padrão true. Portanto, sempre que o acesso a provedores de conteúdo não for explicitamente necessário, certifique-se de que o método setAllowContentAccess esteja definido como false para impedir que WebViews acessem provedores de conteúdo.
Por que isso é importante?¶
Habilitar o acesso a conteúdo em um WebView não é uma vulnerabilidade por si só; isso aumenta o número de maneiras pelas quais um atacante poderia encadear vulnerabilidades. Por exemplo, se combinado com uma vulnerabilidade XSS ou outra vulnerabilidade de injeção (ou se o WebView for usado para exibir conteúdo remoto não confiável), pode permitir que um atacante leia dados sensíveis que podem ser enviados de volta para um servidor remoto.
Embora existam muitas "salvaguardas" (como restrições de CORS e o fato de que um provedor não exportado não servirá dados para qualquer chamador externo), os próprios provedores de conteúdo do aplicativo seriam acessíveis mesmo que não fossem exportados; eles podem ter acesso ao armazenamento privado do aplicativo, tanto no armazenamento interno quanto externo. Além disso, em alguns casos, até mesmo arquivos de outros aplicativos no armazenamento compartilhado/externo, dependendo das permissões do aplicativo (por exemplo, READ_MEDIA_IMAGES, etc.).
Tests¶
MASTG-TEST-0251: Uso em Tempo de Execução de APIs de Acesso a Content Provider em WebViews MASTG-TEST-0250: Referências a Content Provider Access em WebViews