Impact
The qs library’s arrayLimit enforcement is bypassed when the comma option is enabled, allowing an attacker to craft a single query parameter that contains millions of commas. This results in an unbounded array allocation that consumes vast amounts of memory and can crash or hang the Node.js process. The flaw is a CWE-179 (Input Validation Error) and CWE-20 (Improper Input Validation) weakness, exposing the application to denial‑of‑service without requiring any privileged access.
Affected Systems
Any Node.js application that includes the qs package prior to the fix in v6.14.1 and configures the `comma: true` option is affected. The vulnerability also applies to older releases that lack the patch and rely on the default arrayLimit setting.
Risk and Exploitability
The CVSS score of 6.3 indicates a moderate severity. The EPSS score of less than 1% suggests that exploitation is presently unlikely in the wild, and the vulnerability is not listed in the CISA KEV catalog. However, if an application accepts high‑volume traffic or is under attack, the bypass can be leveraged to exhaust server resources. The attack requires only that the target accept HTTP requests containing a comma‑delimited payload, making it a low‑barrier vector for DoS.
OpenCVE Enrichment
Github GHSA