Skip to main content

Plugin plugin-publish vulnerável do Gradle revela informações confidenciais

Escrito por
prioritize vulns

31 de março de 2020

0 minutos de leitura

Há poucos dias, em 27 de março, foi divulgada e publicada uma vulnerabilidade de segurança — CVE-2020-7599 — no plugin plugin-publish do Gradle. Ela afeta todas as versões do pacote anteriores à 0.11.0. A vulnerabilidade foi encontrada em 4 de março por Danny Thomas, da equipe de produtividade para desenvolvedores da Netflix, e comunicada imediatamente ao Gradle.

Informações confidenciais

O problema encontrado nesse pacote é uma vulnerabilidade conhecida como “inserção de informações confidenciais”. Nesse caso específico, o pacote exibe informações confidenciais no arquivo de log. Quando o autor de um plugin publica um plugin do Gradle usando o plugin com.gradle.plugin-publish do Gradle, uma URL pré-assinada da AWS é enviada ao plugin. Se a compilação do Gradle for executada com --info ou em um nível de log mais detalhado, essa URL será publicada no arquivo de log. Se esse log de compilação estiver visível publicamente, como acontece em muitos sistemas públicos de CI, a URL poderá ser usada em um ataque malicioso. Um exemplo desse vazamento de dados pode ser visto nesta compilação pública de CI de Danny Thomas.

Possível ataque

A URL é válida por uma hora e pode ser reutilizada. Isso significa que um invasor pode usar essa URL para substituir um plugin enviado recentemente por um pacote malicioso. Após investigar o problema, o Gradle afirma que nenhum artefato foi substituído. Também é importante dizer que, por padrão, a URL não aparece nos logs, pois o nível de log padrão é LIFECYCLE, de acordo com a documentação do Gradle.

Correção

Em resposta, o Gradle lançou uma nova versão do plugin de publicação que reduz o nível de log da URL. A recomendação é atualizar o plugin plugin-publish para a versão 0.11.0. Além disso, não execute o Gradle com o nível de log --debug, pois isso ainda expõe a URL. De modo geral, reduzir o nível de log é considerado muito perigoso quando os logs estão visíveis publicamente.Além de lançar uma versão corrigida do plugin, o Gradle também reduziu o tempo de validade da URL pré-assinada para diminuir a janela de ataque. Saiba mais no blog de segurança deles.

Comece a resolver desafios de capture the flag

Aprenda a resolver desafios de capture the flag assistindo sob demanda ao nosso workshop virtual introdutório.

Leia mais

Blog

Modelos de ponta encontraram as vulnerabilidades. Só o atacante encontrou as cadeias.

A análise estática encontrou as falhas, mas só os testes de ataque em aplicações ativas provaram como elas poderiam ser encadeadas para causar invasões. Uma comparação entre Evo COS, Claude Security e Claude Code Security.

feature insights context
Blog

Os ataques autônomos já chegaram. A defesa precisa acompanhar o ritmo.

Os atacantes autônomos estão reduzindo o tempo disponível para a defesa. Saiba como a descoberta, a correção, a validação e a prevenção contínuas ajudam as equipes de segurança a acompanhar esse ritmo.

Blog

Seu backlog de vulnerabilidades não é mais uma dívida técnica — é uma superfície de ataque

Um backlog crescente de vulnerabilidades é mais do que uma dívida técnica: ele é uma superfície de ataque. Entenda por que suposições de risco desatualizadas, atacantes automatizados e descobertas encadeadas exigem uma nova abordagem.