content:// protocol
Este é um resumo do post https://census-labs.com/news/2021/04/14/whatsapp-mitd-remote-exploitation-CVE-2021-24027/
Listando Arquivos no Armazenamento de Mídia
Para listar arquivos gerenciados pelo Armazenamento de Mídia, o comando abaixo pode ser usado:
Para obter uma saída mais amigável ao usuário, exibindo apenas o identificador e o caminho de cada arquivo indexado:
Os provedores de conteúdo estão isolados em seu próprio namespace privado. O acesso a um provedor requer o URI específico content://
. As informações sobre os caminhos para acessar um provedor podem ser obtidas nos manifestos de aplicativos ou no código-fonte do framework do Android.
Acesso do Chrome aos Provedores de Conteúdo
O Chrome no Android pode acessar provedores de conteúdo por meio do esquema content://
, permitindo acessar recursos como fotos ou documentos exportados por aplicativos de terceiros. Para ilustrar isso, um arquivo pode ser inserido no Media Store e depois acessado via Chrome:
Inserir uma entrada personalizada no Media Store:
Descubra o identificador do arquivo recém-inserido:
O arquivo pode então ser visualizado no Chrome usando um URL construído com o identificador do arquivo.
Por exemplo, para listar arquivos relacionados a um aplicativo específico:
Chrome CVE-2020-6516: Bypass da Política de Mesma Origem
A Política de Mesma Origem (SOP) é um protocolo de segurança nos navegadores que restringe páginas da web de interagir com recursos de origens diferentes, a menos que explicitamente permitido por uma política de Compartilhamento de Recursos de Origem Cruzada (CORS). Essa política tem como objetivo evitar vazamentos de informações e falsificação de solicitações entre sites. O Chrome considera content://
como um esquema local, implicando regras mais rígidas de SOP, onde cada URL de esquema local é tratada como uma origem separada.
No entanto, o CVE-2020-6516 foi uma vulnerabilidade no Chrome que permitia a violação das regras de SOP para recursos carregados por meio de uma URL content://
. Na prática, o código JavaScript de uma URL content://
poderia acessar outros recursos carregados via URLs content://
, o que representava uma preocupação de segurança significativa, especialmente em dispositivos Android executando versões anteriores ao Android 10, onde o armazenamento com escopo não estava implementado.
O prova de conceito abaixo demonstra essa vulnerabilidade, onde um documento HTML, após ser carregado em /sdcard e adicionado à Media Store, usa XMLHttpRequest
em seu JavaScript para acessar e exibir o conteúdo de outro arquivo na Media Store, burlando as regras de SOP.
Prova de Conceito HTML:
Last updated