Falhas críticas no MySQL2 permitem execução remota de código

Três vulnerabilidades críticas foram identificadas na popular biblioteca MySQL2 para Node.js, expondo os sistemas a riscos de execução remota de código, injeção arbitrária de código e poluição de protótipos. As falhas foram designadas como CVE-2024-21508, CVE-2024-21509 e CVE-2024-21511, com severidades variando de 6.5 (média) a 9.8 (crítica). As vulnerabilidades permitem que invasores enviem comandos maliciosos para servidores de banco de dados MySQL2 através de argumentos não validados corretamente na função de conexão do banco de dados.

Por exemplo, a CVE-2024-21508 e a CVE-2024-21511 estão relacionadas à passagem de objetos em vez de strings, permitindo injeção de código arbitrário ou execução de código remoto. A CVE-2024-21509 pode resultar em poluição de protótipos devido ao uso indevido de um protótipo global como mapa durante o processamento das respostas do banco de dados.

Essas vulnerabilidades colocam em risco milhões de usuários, uma vez que a biblioteca MySQL2 tem mais de 2 milhões de instalações por semana. Elas podem permitir que atacantes ganhem controle sobre servidores, executem código arbitrário e manipulem informações sensíveis. A versão mais recente, 3.6.7, resolve uma das vulnerabilidades, mas as outras duas permanecem sem correção.

Recomenda-se aos usuários atualizarem para a versão 3.6.7 para mitigar riscos de ataques como cache poisoning. No entanto, o desenvolvedor da biblioteca foi criticado por não cooperar adequadamente com os pesquisadores para resolver todas as falhas antes da divulgação pública das vulnerabilidades.