Plataforma
nodejs
Componente
form-data
Corrigido em
2.5.5
3.0.1
4.0.1
2.5.4
CVE-2025-7783 descreve uma vulnerabilidade no pacote form-data que utiliza Math.random() para gerar valores boundary em dados multipart form-encoded. Essa prática insegura permite que um atacante, ao observar valores produzidos por Math.random() e controlar um campo da requisição, preveja futuros valores boundary. A exploração bem-sucedida pode levar ao controle da requisição. A vulnerabilidade afeta versões anteriores a 2.5.4, sendo corrigida nesta versão.
A vulnerabilidade CVE-2025-7783 na biblioteca 'form-data' reside no uso de Math.random() para gerar o limite (boundary) em dados codificados no formato multipart/form-data. Se um atacante conseguir observar outros valores gerados por Math.random() na aplicação alvo e, adicionalmente, controlar um campo em uma requisição que utiliza 'form-data', existe um risco significativo. Devido à natureza pseudoaleatória e previsível dos valores de Math.random() (conforme detalhado em https://blog.securityevaluators.com/hacking-the-javascript-lottery-80cc437e3b7f), um atacante que observe uma sequência de valores pode prever o limite usado em requisições subsequentes. Isso poderia permitir a manipulação da requisição multipart, potencialmente levando à injeção de código ou alteração de dados.
A exploração desta vulnerabilidade requer um conhecimento profundo do funcionamento interno da aplicação e a capacidade de observar e manipular requisições HTTP. O atacante precisa ser capaz de influenciar um campo da requisição multipart e, simultaneamente, observar os valores gerados por Math.random() para prever o limite. O sucesso da exploração depende da capacidade do atacante de correlacionar as observações de Math.random() com o limite usado na requisição. A complexidade da exploração varia de acordo com a arquitetura da aplicação e as medidas de segurança implementadas.
Status do Exploit
EPSS
0.08% (percentil 23%)
CISA SSVC
A solução recomendada é atualizar a biblioteca 'form-data' para a versão 2.5.4 ou superior. Esta versão corrige a vulnerabilidade ao utilizar um método mais seguro e menos previsível para gerar o limite. Além disso, revise o código da sua aplicação para identificar qualquer dependência de Math.random() em contextos sensíveis e considere alternativas mais robustas para a geração de números aleatórios, especialmente quando a segurança é crítica. A implementação de um sistema de registro e monitoramento pode ajudar a detectar tentativas de exploração desta vulnerabilidade.
Actualice la biblioteca form-data a la versión 2.5.4 o superior, o a una versión posterior a 3.0.3 o 4.0.3. Esto solucionará la vulnerabilidad de valores aleatorios insuficientes al elegir el límite, previniendo ataques de HTTP Parameter Pollution (HPP). Ejecute `npm install form-data@latest` o `yarn add form-data@latest` para obtener la versión más reciente.
Análise de vulnerabilidades e alertas críticos diretamente no seu e-mail.
'form-data' é uma biblioteca JavaScript que simplifica a criação de requisições HTTP com dados codificados no formato multipart/form-data, comumente usado para uploads de arquivos e envio de dados complexos através de formulários web.
A versão 2.5.4 corrige a vulnerabilidade CVE-2025-7783, que permite a um atacante prever o limite usado em requisições multipart/form-data, potencialmente levando à manipulação da requisição.
Se você estiver usando uma versão anterior a 2.5.4 de 'form-data', sua aplicação pode ser vulnerável. Revise as dependências do seu projeto e atualize a biblioteca.
Sim, existem outras bibliotecas JavaScript para lidar com requisições multipart/form-data, mas é importante avaliar sua segurança e adequação às suas necessidades.
Além de atualizar 'form-data', considere implementar validação de entrada robusta, sanitização de dados e monitoramento de segurança para detectar e prevenir ataques.
Envie seu arquivo de dependências e descubra na hora se esta e outras CVEs te atingem.