
Cloud Vulnerability DB
A community-led vulnerabilities database
CVE-2026-82562 is an arrayLimit bypass vulnerability in the qs npm package that allows denial of service via excessive memory allocation when parsing bracket-key comma-separated query strings. When qs.parse is called with both comma: true and throwOnLimitExceeded: true, a comma-separated value under a bracket-push key (e.g., a[]=1,2,3,4) bypasses the configured arrayLimit check, allowing arbitrarily large arrays to be allocated in memory. The vulnerability affects qs versions >= 6.14.2 and <= 6.15.3 (npm package by ljharb), and was published on August 29–30, 2026. It carries a CVSS v3.1 base score of 3.7 (Low) (GitHub Advisory GHSA-x5fp-wj9c-mxmx, Feedly).
The root cause is CWE-770 (Allocation of Resources Without Limits or Throttling) in lib/parse.js. The parseArrayValue() function enforced the pre-split comma count only for flat array values (controlled by an isFlatArrayValue flag); when a []= bracket-push key was used, the flag was set to false, causing the comma-separated value to be split and wrapped as a single nested element without ever being compared against arrayLimit. This meant the inner array's length was never validated, while equivalent flat (a=), indexed (a[0]=), nested (a[b]=), and dotted (a.b=) key forms all correctly threw a RangeError. The fix (commit 8859c37) removes the isFlatArrayValue gate entirely, so every comma-split value — regardless of key form — is counted before splitting (GitHub Advisory GHSA-x5fp-wj9c-mxmx, Fix Commit).
Successful exploitation causes denial of service through excessive memory allocation on the server parsing the query string. An unauthenticated remote attacker can send a single crafted HTTP request with a parameter like a[]=1, repeated millions of times, forcing the Node.js process to allocate arbitrarily large arrays and potentially exhausting available memory. There is no confidentiality or integrity impact; the vulnerability is limited to availability of the affected service (GitHub Advisory GHSA-x5fp-wj9c-mxmx).
A proof-of-concept is publicly available in the GitHub security advisory, demonstrating that qs.parse('a[]=1,2,3,4', { comma: true, arrayLimit: 3, throwOnLimitExceeded: true }) silently creates an oversized inner array instead of throwing a RangeError. Exploitation requires the target application to have configured qs with comma: true (non-default), which narrows the attack surface. No in-the-wild exploitation, threat actor attribution, CISA KEV listing, or EPSS score data are currently available for this CVE (GitHub Advisory GHSA-x5fp-wj9c-mxmx).
qs npm package versions 6.14.2–6.15.3 that accept query strings or form bodies and have configured qs with comma: true (e.g., Express.js apps with custom query parser settings).a[]= followed by 1, repeated 1,000,000 times (e.g., a[]=1,1,1,...,1).qs configuration, e.g., GET /endpoint?a[]=1,1,1,...,1 or via a POST body.qs.parse call splits the comma-separated value into a 1,000,001-element array without enforcing arrayLimit, causing excessive heap allocation and potentially crashing or severely degrading the Node.js process (GitHub Advisory GHSA-x5fp-wj9c-mxmx, Fix Commit).a[]=<value>,<value>,... with thousands or millions of comma-separated elements; requests significantly exceeding normal query string length limits.a[]=... query parameters; Node.js process crash logs or out-of-memory (OOM) errors correlated with specific request patterns.Upgrade the qs npm package to version 6.16.0 or later, which contains the fix (commit 8859c37) that removes the isFlatArrayValue gate and enforces arrayLimit uniformly across all key forms including []= bracket-push keys. As a workaround, avoid enabling comma: true in qs options unless strictly necessary, or add application-level request size limits (e.g., via express's limit option or a reverse proxy) to restrict excessively large query strings before they reach the parser (GitHub Advisory GHSA-x5fp-wj9c-mxmx, Fix Commit).
The vulnerability was reported by community researchers Vectrain51 and Fcmam5, with ljharb (the package maintainer) acting as remediation developer and publishing the advisory on August 29, 2026. The advisory notes this is the third in a series of related arrayLimit bypass issues in qs, following CVE-2026-2391 (GHSA-w7fw-mjwx-w883) and an earlier bracket notation bypass (GHSA-6rw7-vpxm-498p / CVE-2025-15284), indicating an ongoing pattern of incremental security hardening in the library (GitHub Advisory GHSA-x5fp-wj9c-mxmx, GitHub Advisory GHSA-w7fw-mjwx-w883).
Source: This report was generated using AI
Free Vulnerability Assessment
Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.
Get a personalized demo
"Best User Experience I have ever seen, provides full visibility to cloud workloads."
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
"We know that if Wiz identifies something as critical, it actually is."