Npm · Qs · CVE-2026-82562
**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.