Prototype pollution no express-fileupload
24 de agosto de 2020
0 minutos de leituraBoas-vindas ao Monthly Vulnerability Profile da Snyk. Nesta série, a Snyk revisita as vulnerabilidades descobertas ou reportadas à nossa equipe de pesquisa de segurança. Escolhemos uma vulnerabilidade de destaque do mês anterior e contamos a história por trás de sua descoberta, pesquisa e divulgação. Destacamos os pesquisadores, desenvolvedores e usuários que ajudam a identificar e corrigir vulnerabilidades na comunidade de código aberto.
Neste mês, vamos analisar uma vulnerabilidade de prototype pollution descoberta no express-fileupload.
Vulnerabilidade: prototype pollution no express-fileupload
CVEs atribuídos: CVE-2020-7699
Analista da Snyk: Sam Sanoop
Descoberta por: um pesquisador que usa o identificador po6ix
Uma vulnerabilidade de prototype pollution foi descoberta recentemente no popular pacote express-fileupload e registrada como um problema no repositório do GitHub.
O recurso de problemas pode ser uma maneira prática para desenvolvedores e pesquisadores de segurança avisarem os mantenedores de pacotes sobre bugs ou vulnerabilidades de segurança que encontrarem. No entanto, embora essas informações sejam públicas, elas não são amplamente divulgadas às comunidades de segurança e desenvolvimento que precisam estar cientes do problema.
Então, como podemos garantir que vulnerabilidades graves de segurança registradas como problemas no repositório sejam divulgadas de forma mais ampla? Esta história sobre prototype pollution no express-fileupload mostra como a equipe de pesquisa da Snyk está ajudando a lidar com essa questão.
Investigando os detalhes da vulnerabilidade de prototype pollution
Em 25 de julho de 2020, um pesquisador que usa o identificador po6ix registrou um problema no repositório do GitHub do pacote express-fileupload. O relato descreve uma vulnerabilidade de prototype pollution descoberta pelo pesquisador no pacote. Também demonstra como a vulnerabilidade poderia ser usada para executar código remotamente por meio de uma função criada para analisar informações sobre caminhos de arquivos. O pesquisador também publicou uma postagem no blog em seu site, detalhando a vulnerabilidade e apresentando demonstrações de prova de conceito (POC).

A equipe de pesquisa de segurança da Snyk busca regularmente problemas em repositórios públicos do GitHub que descrevam possíveis falhas de segurança. A atenção da equipe foi atraída por uma série de problemas registrados por po6ix em um intervalo muito curto, entre eles a vulnerabilidade no pacote express-fileupload. Sam Sanoop, analista de segurança da Snyk, entrou em contato com po6ix para entender melhor a vulnerabilidade e oferecer a ajuda da Snyk na atribuição de CVEs às várias vulnerabilidades descobertas pelo pesquisador.
Após conversar com po6ix sobre as vulnerabilidades, Sam usou as provas de conceito listadas na postagem do blog para reconstruir os ataques. Assim, a Snyk conseguiu confirmar a gravidade e a aplicabilidade da vulnerabilidade.
Após confirmar os detalhes da vulnerabilidade, Sam calculou uma pontuação CVSS de 7,5 — em parte devido à natureza remota dos ataques. Segundo a postagem de po6ix no blog, no fim de julho de 2020, o pacote express-fileupload tinha quase 8 milhões de downloads. A combinação da gravidade da vulnerabilidade com a popularidade do pacote vulnerável tornou essa descoberta especialmente preocupante.
Sam atribuiu o CVE-2020-7699 à vulnerabilidade e criou um relatório detalhado, adicionando-o à Snyk Vulnerability Database. O pesquisador original, po6ix, também recebeu o devido crédito pela descoberta na Snyk Vulnerability Database.

Enquanto isso, o mantenedor do pacote implementou uma correção para a vulnerabilidade de segurança na versão 1.1.8. No entanto, o problema não foi totalmente corrigido, e outro usuário do GitHub abriu um relato complementar. Nele, observou que ainda havia uma vulnerabilidade de negação de serviço no pacote, que explorava elementos do mesmo ataque. Em 6 de agosto de 2020, o mantenedor lançou a versão 1.1.10 do pacote, que, segundo a confirmação da Snyk, corrige a vulnerabilidade com sucesso.
Esta história é apenas um exemplo de como a equipe de pesquisa da Snyk trabalha com as comunidades de desenvolvimento e segurança. Nosso objetivo não é apenas garantir que as vulnerabilidades sejam corrigidas nos pacotes, mas também promover a comunicação aberta sobre informações de vulnerabilidade, para que todos possam proteger seus softwares com mais facilidade.
Perdeu nossas publicações anteriores do MVP? Confira abaixo:



