PT-2026-83506 · Npm · Qs

·

CVE-2026-82562

·

Publicado

2026-02-12

·

Atualizado

2026-09-02

CVSS v4.0

6.3

Média

VetorAV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
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.

Exploit

Correção

Allocation of Resources Without Limits

RCE

Encontrou algum problema na descrição? Tem algo a acrescentar? Fique à vontade para nos escrever 👾

Enumeração de Fraquezas

Identificadores relacionados

CVE-2026-82562
GHSA-W7FW-MJWX-W883
GHSA-X5FP-WJ9C-MXMX

Produtos afetados

Qs