Advisory Database
  • Advisories
  • Dependency Scanning
  1. npm
  2. ›
  3. qs
  4. ›
  5. CVE-2026-82417

CVE-2026-82417: qs: Denial of Service via Attacker Controlled isBuffer

September 2, 2026

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 allowPrototypes: true is set, so a pure-qs parse → stringify round-trip — no JSON.parse — turns an unauthenticated query string into an uncaught throw.

An attacker-controlled parse input reaches the host application’s availability asset — via qs’s own recommended plainObjects mitigation — and triggers an uncaught exception during a parse → stringify round-trip.

References

  • github.com/advisories/GHSA-4mjr-xmp4-gh2g
  • github.com/ljharb/qs/commit/e83d321ffafb38cf210683ac31714fce6ce1c6c6
  • github.com/ljharb/qs/security/advisories/GHSA-4mjr-xmp4-gh2g
  • nvd.nist.gov/vuln/detail/CVE-2026-82417

Code Behaviors & Features

Detect and mitigate CVE-2026-82417 with GitLab Dependency Scanning

Secure your software supply chain by verifying that all open source dependencies used in your projects contain no disclosed vulnerabilities. Learn more about Dependency Scanning →

Affected versions

All versions starting from 2.2.5 before 6.16.0

Fixed versions

  • 6.16.0

Solution

Upgrade to version 6.16.0 or above.

Impact 5.3 MEDIUM

CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L

Learn more about CVSS

Weakness

  • CWE-248: Uncaught Exception
  • CWE-703: Improper Check or Handling of Exceptional Conditions

Source file

npm/qs/CVE-2026-82417.yml

Spotted a mistake? Edit the file on GitLab.

  • Site Repo
  • About GitLab
  • Terms
  • Privacy Statement
  • Contact

Page generated Tue, 22 Sep 2026 12:20:32 +0000.