What’s Vulnerable › Vulnerabilities
CVE-2022-24999: qs vulnerable to Prototype Pollution
- Severity: high (CVSS 7.5 v3.1)
- Exploited in the wild: not listed in CISA KEV
- EPSS: 15.6% probability of exploitation in the next 30 days
- Public exploit or detection template: yes
- Published: 2022-11-26 · updated 2026-06-17
- Weakness: CWE-1321
Description
qs before 6.10.3, as used in Express before 4.17.3 and other products, allows attackers to cause a Node process hang for an Express application because an __ proto__ key can be used. In many typical Express use cases, an unauthenticated remote attacker can place the attack payload in the query string of the URL that is used to visit the application, such as a[__proto__]=b&a[__proto__]&a[length]=100000000. The fix was backported to qs 6.9.7, 6.8.3, 6.7.3, 6.6.1, 6.5.3, 6.4.1, 6.3.3, and 6.2.4 (and therefore Express 4.17.3, which has "deps: qs@6.9.7" in its release description, is not vulnerable).
Affected products
- Debian Linux: 10.0
- expressjs express: before 4.17.3 — fixed in 4.17.3
- HackerOne qs node module: before 6.2.4; from 6.3.0 before 6.3.3; from 6.5.0 before 6.5.3; from 6.7.0 before 6.7.3; from 6.8.0 before 6.8.3; from 6.9.0 before 6.9.7 — fixed in 6.10.3, 6.2.4, 6.3.3, 6.5.3, 6.7.3, 6.8.3
- Npm Qs: from 6.10.0 before 6.10.3; from 6.9.0 before 6.9.7; from 6.8.0 before 6.8.3; from 6.7.0 before 6.7.3; from 6.6.0 before 6.6.1; from 6.5.0 before 6.5.3 — fixed in 6.10.3, 6.9.7, 6.8.3, 6.7.3, 6.6.1, 6.5.3
How to fix
Upgrade to a fixed version: expressjs express 4.17.3; HackerOne qs node module 6.10.3, 6.2.4, 6.3.3, 6.5.3; Npm Qs 6.10.3, 6.9.7, 6.8.3, 6.7.3. Check the vendor advisory for mitigations.
References
- https://github.com/expressjs/express/releases/tag/4.17.3
- https://github.com/ljharb/qs/pull/428
- https://github.com/n8tz/CVE-2022-24999
- https://lists.debian.org/debian-lts-announce/2023/01/msg00039.html
- https://security.netapp.com/advisory/ntap-20230908-0005/
- https://github.com/expressjs/express/releases/tag/4.17.3
- https://github.com/ljharb/qs/pull/428
- https://github.com/n8tz/CVE-2022-24999
- https://lists.debian.org/debian-lts-announce/2023/01/msg00039.html
- https://security.netapp.com/advisory/ntap-20230908-0005/
Get alerted when CVE-2022-24999 or the next vulnerability affects your stack