PT-2026-83506
CVE-2026-82562
·
Publicado
2026-02-12
·
Atualizado
2026-10-20
Descrição por
CVSS 3.1
9.8
CríticaMétricasAV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Nome do Software Vulnerável e Versões Afetadas
qs versões 6.14.2 through 6.15.3
Description
Quando a função
qs.parse é utilizada com as opções comma e throwOnLimitExceeded definidas como true, um valor separado por vírgulas atribuído a uma chave de empilhamento de colchetes (ex: a[]=1,2,3,4) é dividido em um array sem ser validado em relação ao arrayLimit. Em contraste, o mesmo valor atribuído a chaves planas, indexadas, aninhadas ou pontuadas dispara corretamente um RangeError. Isso ocorre porque a verificação do arrayLimit em lib/parse.js era aplicada após o valor ser envolvido como um elemento aninhado, e uma tentativa subsequente de corrigir isso usando uma flag isFlatArrayValue não considerou a forma de chave []=. Um invasor não autenticado pode explorar isso fornecendo um único parâmetro a[]= para ignorar os limites configurados e forçar o parser a alocar um array proporcional ao tamanho da requisição, podendo levar ao consumo excessivo de memória.Recommendations
Atualize o qs para a versão 6.16.0.
Como medida paliativa temporária, evite usar a forma de chave
[]= em strings de consulta quando comma e throwOnLimitExceeded estiverem habilitados.Explorabilidade
Exploit
Correção
Impactos
Pesquisadores
Fornecedores
Produtos afetados
Encontrou algum problema na descrição? Tem algo a acrescentar? Fique à vontade para nos escrever 👾