qs: Denial of Service via Attacker Controlled isBuffer — GHSA-4MJR-XMP4-GH2G
GitHub · GitHub · GHSA-4MJR-XMP4-GH2G
ID
GHSA-4MJR-XMP4-GH2G
GHSA-4MJR-XMP4-GH2G
Date
Source
GitHub
GitHub
Vendor
GitHub
GitHub
Threat
medium
medium
CVSS
6.3
6.3
EPSS
0.00261
0.00261
Summary
### Summary `qs.stringify()` calls `utils.isBuffer()` on every value it serializes, and `utils.isBuffer()` invokes `obj.constructor.isBuffer(obj)` without checking that it is callable. A value whose own `constructor.isBuffer` is a non-function makes `qs` call a non-callable and throw `TypeError`. Such a value is produced **by `qs.parse` itself** from an untrusted query string when `plainObjects: true` or…
Timeline
- Published by source
- 2026-09-02
Risk context
- Reported severity or threat level: medium.
- Reported CVSS score: 6.3 out of 10.
- Reported EPSS value: 0.00261.
- Review exposure for the affected product or family: npm: qs.
Product
npm: qs
What to do
General, cautious steps (verify details in the official source):
- Review exposure and plan remediation based on risk and environment.
- Identify affected product versions in your inventory and verify whether you are impacted.
- Apply vendor patches/updates or recommended mitigations as soon as available.
- Read the official advisory for exact affected versions and remediation steps.
Official advisory
Evidence and provenance
- Canonical advisory ID
- GHSA-4MJR-XMP4-GH2G
- Source
- GitHub
- Vendor
- GitHub
- Published by source
- 2026-09-02
- Last source activity
- 2026-09-02
- Additional identifiers
- CVE-2026-82417
- Curated by
- hlukh.ch
Related advisories and connections
These advisories are connected by shared CVE, product, vendor, source, or time signals.