Plataforma
nodejs
Componente
pbkdf2
Corrigido em
1.0.1
3.1.3
CVE-2025-6547 is a critical vulnerability affecting historic, yet still supported, versions of Node.js (0.12 - 2.x). This flaw resides within the pbkdf2 module, where it silently disregards Uint8Array input, potentially weakening password hashing. Affected versions include Node.js releases prior to 3.1.3, and a fix has been released.
A vulnerabilidade CVE-2025-6547 afeta versões antigas, mas ainda suportadas, do Node.js (0.12 - 2.x) na biblioteca pbkdf2. Especificamente, a função pbkdf2 ignora silenciosamente entradas do tipo Uint8Array. Embora a biblioteca declare suporte para Node.js a partir da versão 0.12, esse comportamento inesperado pode comprometer a segurança de senhas e outros dados sensíveis. O CVSS foi classificado com uma pontuação de 9.5, indicando um risco crítico. Isso significa que um atacante pode potencialmente derivar chaves de senhas fracas ou previsíveis sem ser detectado, pois a validação de entrada é omitida. A falta de validação adequada permite a manipulação da entrada, o que pode levar à geração de chaves incorretas ou à exposição de informações confidenciais. É crucial atualizar para uma versão corrigida para mitigar este risco.
Um atacante pode explorar esta vulnerabilidade se tiver controle sobre a entrada fornecida à função pbkdf2 em versões vulneráveis do Node.js. Isso pode ocorrer em aplicações web que aceitam senhas dos usuários ou em sistemas que utilizam pbkdf2 para o armazenamento seguro de chaves. O ataque seria silencioso, pois a biblioteca não geraria nenhum erro ou aviso quando a entrada Uint8Array for ignorada. Isso permitiria ao atacante manipular a chave derivada sem ser detectado. A vulnerabilidade é particularmente preocupante porque as versões antigas do Node.js ainda são utilizadas em muitos sistemas, o que as torna um alvo atraente para os atacantes. A falta de uma validação adequada da entrada é uma causa comum de vulnerabilidades de segurança, e este caso não é uma exceção.
Applications and services relying on Node.js versions 0.12 through 2.x are at significant risk. This includes legacy applications, systems with outdated dependencies, and environments where Node.js has not been regularly updated. Shared hosting environments using older Node.js versions are particularly vulnerable.
• nodejs / server:
node -v | grep -q '0.12\.\|1\.\|2\.' && echo "Potentially vulnerable Node.js version detected!" || echo "Node.js version is safe."• nodejs / server:
npm list pbkdf2 | grep -q '>=3.1.3' || echo "pbkdf2 version is potentially vulnerable!"• nodejs / server:
find /usr/local/lib/node_modules /opt/node/lib/node_modules -name "pbkdf2" -type d -print0 | xargs -0 grep -l 'toBuffer' disclosure
Status do Exploit
EPSS
0.03% (percentil 9%)
CISA SSVC
A solução recomendada é atualizar para o Node.js versão 3.1.3 ou superior. Esta versão corrige a vulnerabilidade ao lidar corretamente com as entradas Uint8Array. Se a atualização do Node.js não for imediatamente possível, considere substituir a biblioteca pbkdf2 por uma alternativa que implemente uma validação de entrada mais robusta. Além disso, revise o código que utiliza pbkdf2 para garantir que dados Uint8Array não estejam sendo passados inadvertidamente como senhas. Implementar uma validação adicional no código da aplicação para garantir que as senhas sejam passadas como strings ou buffers pode fornecer uma camada adicional de proteção. Monitorar os registros da aplicação em busca de erros ou comportamentos incomuns relacionados ao pbkdf2 também pode ajudar a detectar possíveis tentativas de exploração.
Actualice la dependencia pbkdf2 a una versión posterior a 3.1.2. Esto solucionará la vulnerabilidad de validación de entrada incorrecta. Consulte el advisory GHSA-v62p-rq8g-8h59 para obtener más detalles.
Análise de vulnerabilidades e alertas críticos diretamente no seu e-mail.
Não, afeta apenas as versões 0.12 a 2.x.
É uma biblioteca do Node.js utilizada para derivar chaves de senhas de forma segura.
Verifique a versão do Node.js que você está utilizando. Se for inferior a 3.1.3, é vulnerável.
Considere substituir pbkdf2 por uma alternativa ou implementar validação adicional em seu código.
Indica um risco crítico, o que significa que a vulnerabilidade é facilmente explorável e pode ter um impacto significativo.
Envie seu arquivo de dependências e descubra na hora se esta e outras CVEs te atingem.