Plataforma
nodejs
Componente
dns-packet
Corrigido em
5.2.2
5.2.2
CVE-2021-23386 é uma vulnerabilidade no pacote dns-packet que permite a exposição de memória interna. Ao consultar nomes de domínio inválidos, dados sensíveis da aplicação podem ser revelados através da rede. Esta falha afeta versões anteriores a 1.3.2 e 5.2.2. A vulnerabilidade foi corrigida na versão 5.2.2.
A vulnerabilidade CVE-2021-23386 no pacote dns-packet, afetando versões anteriores a 1.3.2 e 5.2.2, apresenta um risco de exposição de memória sensível. O problema reside na forma como o pacote gerencia a alocação e o preenchimento de buffers. Especificamente, utiliza allocUnsafe para criar buffers sem garantir que sejam totalmente preenchidos antes de construir pacotes de rede. Isso permite que um atacante, enviando nomes de domínio inválidos e especialmente elaborados, cause que fragmentos da memória interna da aplicação sejam incluídos nos pacotes de rede transmitidos pela rede. Essa informação pode incluir dados confidenciais, como chaves de API, senhas ou outras informações sensíveis, comprometendo potencialmente a segurança do sistema.
A exploração desta vulnerabilidade requer que um atacante seja capaz de enviar consultas DNS para o sistema afetado. Isso pode ser alcançado por meio de vários métodos, como o envio de tráfego DNS malicioso diretamente para o sistema ou a exploração de um servidor DNS comprometido. O atacante deve enviar nomes de domínio cuidadosamente elaborados que acionem a condição de estouro de buffer. A complexidade da exploração depende da configuração da rede e das medidas de segurança existentes. A falta de criptografia na rede agrava o risco, pois as informações expostas são transmitidas em texto simples.
Applications utilizing the dns-packet package in Node.js environments are at risk, particularly those handling external DNS queries or processing user-supplied domain names. This includes applications that rely on DNS resolution for functionality, such as DNS resolvers, network monitoring tools, and applications integrating with DNS services. Shared hosting environments where multiple applications share the same Node.js instance are also at increased risk.
• nodejs / server:
npm list dns-packetIf the output shows a version prior to 5.2.2, the system is vulnerable. • nodejs / server:
npm audit dns-packetThis command will identify the vulnerability and suggest an upgrade. • generic web: Monitor network traffic for unusual DNS queries containing invalid or malformed domain names. Look for patterns indicative of probing or exploitation attempts.
disclosure
Status do Exploit
EPSS
1.11% (percentil 78%)
Vetor CVSS
A mitigação recomendada para CVE-2021-23386 é atualizar o pacote dns-packet para a versão 5.2.2 ou posterior. Esta versão inclui correções que abordam a vulnerabilidade, garantindo que os buffers sejam devidamente preenchidos antes de serem usados na construção de pacotes de rede. Se a atualização não for possível imediatamente, considere implementar medidas de segurança adicionais, como segmentação de rede e monitoramento do tráfego de rede em busca de padrões suspeitos. Revisar as dependências do projeto e atualizar quaisquer outras bibliotecas que utilizem versões vulneráveis do dns-packet também é crucial. A aplicação rápida de patches de segurança é fundamental para proteger os sistemas contra possíveis ataques.
Atualize o pacote dns-packet para a versão 5.2.2 ou superior. Isso corrige a vulnerabilidade de exposição de memória ao garantir que os buffers sejam preenchidos corretamente antes de formar pacotes de rede. Execute `npm install dns-packet@latest` para atualizar.
Análise de vulnerabilidades e alertas críticos diretamente no seu e-mail.
É uma função que aloca memória rapidamente, mas sem verificações de segurança extensivas, o que pode levar a erros como estouros de buffer.
Verifique a versão do pacote dns-packet que você está usando. Se for anterior a 1.3.2 ou 5.2.2, é vulnerável.
Implemente segmentação de rede e monitore o tráfego de rede em busca de padrões suspeitos.
Dados sensíveis, como chaves de API, senhas e outras informações confidenciais armazenadas na memória da aplicação.
Realize testes completos para garantir que a atualização não tenha introduzido novos problemas.
Envie seu arquivo de dependências e descubra na hora se esta e outras CVEs te atingem.