PatchSiren

PatchSiren cyber security CVE debrief

CVE-2026-8723 ljharb CVE debrief

CVE-2026-8723 describes a denial-of-service style reliability bug in qs: when qs.stringify is called with arrayFormat:"comma" and encodeValuesOnly:true, a null or undefined element inside an array can trigger a synchronous TypeError instead of producing a query string. The issue is fixed in v6.15.2.

Vendor
ljharb
Product
qs
CVSS
MEDIUM 6.3
CISA KEV
Not listed in stored evidence
Original CVE published
2026-05-17
Original CVE updated
2026-05-18
Advisory published
2026-05-17
Advisory updated
2026-05-18

Who should care

Teams that use qs to serialize user-controlled or application-built arrays, especially in Node.js services that pass arrayFormat:"comma" and encodeValuesOnly:true. Review request-handling, background job, and startup code paths that may stringify arrays containing null or undefined values.

Technical summary

According to the source description, the vulnerable branch in lib/stringify.js mapped comma-formatted arrays through the raw encoder before joining. That meant utils.encode could read str.length on a null or undefined value and throw immediately. The null-handling options skipNulls and strictNullHandling were checked later in the per-element loop, so they did not prevent the exception. The issue affects qs >=6.11.1 <6.15.2 and was fixed by wrapping the encoder so null and undefined pass through unchanged before the join step.

Defensive priority

Medium. The impact is a synchronous exception and service interruption for affected call sites, not a memory-safety issue. Prioritize if your code uses qs stringify on untrusted or loosely validated arrays with the comma format and encodeValuesOnly enabled.

Recommended defensive actions

  • Upgrade qs to v6.15.2 or later.
  • Search for qs.stringify calls that combine arrayFormat:"comma" with encodeValuesOnly:true.
  • Add input validation or normalization so arrays passed to stringify do not contain null or undefined where this option set is used.
  • Review upstream advisories and release notes for qs before backporting a fix.
  • Add tests covering null and undefined array elements in comma serialization paths.

Evidence notes

This debrief is based on the supplied NVD CVE record and the referenced GitHub commit and security advisory for qs. The record states the vulnerable range as >=6.11.1 <6.15.2 and references commit 21f80b33e5c8b3f7eba1034fff0da4a4a37a1d41 and advisory GHSA-q8mj-m7cp-5q26. NVD weakness mapping lists CWE-476. The source record status is Received at the time of the supplied data.

Official resources

Published in the supplied source data on 2026-05-17T00:16:21.233Z. Use this as the CVE publication timing context; do not substitute generation or review time.