qs vulnerable to Prototype Pollution
Published 27 Nov 2022 · Updated 29 Apr 2025
Affected packages
- Affected
- >=6.10.0 <6.10.3
- Fixed in
- 6.10.3
npm install qs@6.10.3- Affected
- >=6.9.0 <6.9.7
- Fixed in
- 6.9.7
npm install qs@6.9.7- Affected
- >=6.8.0 <6.8.3
- Fixed in
- 6.8.3
npm install qs@6.8.3- Affected
- >=6.7.0 <6.7.3
- Fixed in
- 6.7.3
npm install qs@6.7.3- Affected
- >=6.6.0 <6.6.1
- Fixed in
- 6.6.1
npm install qs@6.6.1- Affected
- >=6.5.0 <6.5.3
- Fixed in
- 6.5.3
npm install qs@6.5.3- Affected
- >=6.4.0 <6.4.1
- Fixed in
- 6.4.1
npm install qs@6.4.1- Affected
- >=6.3.0 <6.3.3
- Fixed in
- 6.3.3
npm install qs@6.3.3- Affected
- <6.2.4
- Fixed in
- 6.2.4
npm install qs@6.2.4Details
qs before 6.10.3 allows attackers to cause a Node process hang because an __ proto__ key can be used. In many typical web framework 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.
Is GHSA-hrpp-h998-j3pp in any of your client repos?
Checking one package by hand is fine. Checking it across forty client projects is not. NPMscan reads the lockfiles in every GitHub repo you pick, finds each project with an affected qs, and gives you the command that fixes it.
References
- Advisorynvd.nist.gov/vuln/detail/CVE-2022-24999
- Linkgithub.com/ljharb/qs/pull/428
- Linkgithub.com/ljharb/qs/commit/4310742efbd8c03f6495f07906b45213da0a32ec
- Linkgithub.com/ljharb/qs/commit/727ef5d34605108acb3513f72d5435972ed15b68
- Linkgithub.com/ljharb/qs/commit/73205259936317b40f447c5cdb71c5b341848e1b
- Linkgithub.com/ljharb/qs/commit/8b4cc14cda94a5c89341b77e5fe435ec6c41be2d
- Linkgithub.com/ljharb/qs/commit/ba24e74dd17931f825adb52f5633e48293b584e1
- Linkgithub.com/ljharb/qs/commit/e799ba57e573a30c14b67c1889c7c04d508b9105
- Linkgithub.com/ljharb/qs/commit/ed0f5dcbef4b168a8ae299d78b1e4a2e9b1baf1f
- Linkgithub.com/ljharb/qs/commit/f945393cfe442fe8c6e62b4156fd35452c0686ee
- Linkgithub.com/ljharb/qs/commit/fc3682776670524a42e19709ec4a8138d0d7afda
- Linkgithub.com/expressjs/express/releases/tag/4.17.3
- Packagegithub.com/ljharb/qs
- Linkgithub.com/n8tz/CVE-2022-24999
- Linklists.debian.org/debian-lts-announce/2023/01/msg00039.html
- Linksecurity.netapp.com/advisory/ntap-20230908-0005
Advisory data from OSV.dev (opens OSV.dev in a new tab), refreshed daily.