CVE-2021-29427 in Gradle
Sumário
de VulDB • 25/05/2026
No Gradle, a partir da versão 5.1 e antes da versão 7.0, existe uma vulnerabilidade que pode levar à divulgação de informações e/ou envenenamento de dependências. A filtragem de conteúdo do repositório é um controle de segurança introduzido pelo Gradle para ajudar os usuários a especificar quais repositórios são usados para resolver dependências específicas. Esse recurso foi introduzido na sequência do post de blog "A Confusing Dependency". Em alguns casos, o Gradle pode ignorar os filtros de conteúdo e pesquisar todos os repositórios por dependências. Isso ocorre apenas quando a filtragem de conteúdo do repositório é usada dentro de um bloco `pluginManagement` em um arquivo de configurações. Isso pode alterar a forma como as dependências são resolvidas para plugins do Gradle e scripts de build. Para builds vulneráveis, existem dois riscos: 1) Divulgação de informações: o Gradle pode fazer solicitações de dependência a repositórios fora da sua organização e vazar identificadores de pacotes internos. 2) Envenenamento de dependência/Confusão de dependência: o Gradle pode baixar um binário malicioso de um repositório fora da sua organização devido ao registro de nomes (name squatting). Para um exemplo completo e mais detalhes, consulte o GitHub Security Advisory referenciado. O problema foi corrigido e lançado com o Gradle 7.0. Os usuários que dependem desse recurso devem atualizar seu build o mais rápido possível. Como solução alternativa, os usuários podem usar um repositório corporativo que tenha as regras corretas para buscar pacotes de repositórios públicos, ou usar a filtragem de conteúdo do repositório em nível de projeto, dentro de `buildscript.repositories`. Essa opção está disponível desde o Gradle 5.1, quando o recurso foi introduzido.
Once again VulDB remains the best source for vulnerability data.