CVE-2026-8723
published 2026-05-17CVE-2026-8723: ### Summary `qs.stringify` throws `TypeError` when called with `arrayFormat: 'comma'` and `encodeValuesOnly: true` on an array containing `null` or…
PriorityP429medium5.3CVSS 3.1
AVNACLPRNUINSUCNINAL
EPSS
0.36%
28.4th percentile
### Summary
`qs.stringify` throws `TypeError` when called with `arrayFormat: 'comma'` and `encodeValuesOnly: true` on an array containing `null` or `undefined`. The throw is synchronous and not handled by any of qs's null-related options (`skipNulls`, `strictNullHandling`).
### Details
In the comma + `encodeValuesOnly` branch, `lib/stringify.js:145` mapped the array through the raw encoder before joining:
```js
obj = utils.maybeMap(obj, encoder);
```
`utils.encode` (`lib/utils.js:195`) reads `str.length` with no null guard, so a `null` or `undefined` element throws `TypeError`. `skipNulls` and `strictNullHandling` are both checked in the per-element loop below this line and never get a chance to run.
Same class of bug as the filter-array path fixed in 0c180a4. The vulnerable shape of the comma + `encodeValuesOnly` branch was introduced in 4c4b23d ("encode comma values more consistently", PR #463, 2023-01-19), first released in v6.11.1.
#### PoC
```js
const qs = require('qs');
qs.stringify({ a: [null, 'b'] }, { arrayFormat: 'comma', encodeValuesOnly: true });
qs.stringify({ a: [undefined, 'b'] }, { arrayFormat: 'comma', encodeValuesOnly: true });
qs.stringify({ a: [null] }, { arrayFormat: 'comma', encodeValuesOnly: true });
// TypeError: Cannot read properties of null (reading 'length')
// at encode (lib/utils.js:195:13)
// at Object.maybeMap (lib/utils.js:322:37)
// at stringify (lib/stringify.js:145:25)
```
#### Fix
`lib/stringify.js:145`, applied in 21f80b3 on `main` and released as v6.15.2:
```diff
- obj = utils.maybeMap(obj, encoder);
+ obj = utils.maybeMap(obj, function (v) {
+ return v == null ? v : encoder(v);
+ });
```
`null` and `undefined` now pass through `maybeMap` unchanged and reach the `join(',')` step as-is. For `{ a: [null, 'b'] }` this produces `a=,b`, matching the non-`encodeValuesOnly` comma path (which already joins before encoding and produces `a=%2Cb` for the same input). Single-element `Affected
2 ranges
| Vendor | Product | Version range | Fixed in |
|---|---|---|---|
| ljharb | qs | >= 6.11.1 < 6.15.2 | 6.15.2 |
| qs_project | qs | >= 6.11.1 < 6.15.2 | 6.15.2 |
CVSS provenance
nvdv3.15.3MEDIUMCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L
nvdv4.06.3MEDIUMCVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
Stop checking back — get the weekly exploitation signal.
Every Monday: what got weaponized or added to CISA KEV in the last seven days — each CVE cross-linked to its PoC, Nuclei template, and detection rule. Free, one email a week, unsubscribe in one click.
GHSA
qs has a remotely triggerable DoS: qs.stringify crashes with TypeError on null/undefined entries in comma-format arrays when encodeValuesOnly is set
ghsa·2026-05-22
CVE-2026-8723 [MEDIUM] CWE-476 qs has a remotely triggerable DoS: qs.stringify crashes with TypeError on null/undefined entries in comma-format arrays when encodeValuesOnly is set
qs has a remotely triggerable DoS: qs.stringify crashes with TypeError on null/undefined entries in comma-format arrays when encodeValuesOnly is set
### Summary
`qs.stringify` throws `TypeError` when called with `arrayFormat: 'comma'` and `encodeValuesOnly: true` on an array containing `null` or `undefined`. The throw is synchronous and not handled by any of qs's null-related options (`skipNulls`, `strictNullHandling`).
### Details
In the comma + `encodeValuesOnly` branch, `lib/stringify.js:145` mapped the array through the raw encoder before joining:
```js
obj = utils.maybeMap(obj, encoder);
```
`utils.encode` (`lib/utils.js:195`) reads `str.length` with no null guard, so a `null` or `undefined` element throws `TypeError`. `skipNulls` and `strictNullHandling` are both checked in the
VulDB
ljharb qs up to 6.15.1 lib/stringify.js null pointer dereference (GHSA-q8mj-m7cp-5q26)
vuldb·2026-05-17·CVSS 6.3
CVE-2026-8723 [MEDIUM] ljharb qs up to 6.15.1 lib/stringify.js null pointer dereference (GHSA-q8mj-m7cp-5q26)
A vulnerability categorized as problematic has been discovered in ljharb qs up to 6.15.1. Affected by this vulnerability is an unknown functionality in the library lib/stringify.js. The manipulation results in null pointer dereference.
This vulnerability is identified as CVE-2026-8723. The attack can be executed remotely. There is not any exploit available.
It is advisable to upgrade the affected component.
No detection rules found.
No public exploits indexed.
Bugzilla
CVE-2026-8723 h3: qs: Denial of Service due to improper handling of null/undefined array elements [fedora-all]
bugzilla·2026-06-10·CVSS 5.3
CVE-2026-8723 [MEDIUM] CVE-2026-8723 h3: qs: Denial of Service due to improper handling of null/undefined array elements [fedora-all]
CVE-2026-8723 h3: qs: Denial of Service due to improper handling of null/undefined array elements [fedora-all]
Disclaimer: Community trackers are created by Red Hat Product Security team on a best effort basis. Package maintainers are required to ascertain if the flaw indeed affects their package, before starting the update process.
Bugzilla
CVE-2026-8723 fbthrift: qs: Denial of Service due to improper handling of null/undefined array elements [epel-all]
bugzilla·2026-06-10·CVSS 5.3
CVE-2026-8723 [MEDIUM] CVE-2026-8723 fbthrift: qs: Denial of Service due to improper handling of null/undefined array elements [epel-all]
CVE-2026-8723 fbthrift: qs: Denial of Service due to improper handling of null/undefined array elements [epel-all]
Disclaimer: Community trackers are created by Red Hat Product Security team on a best effort basis. Package maintainers are required to ascertain if the flaw indeed affects their package, before starting the update process.
Bugzilla
CVE-2026-8723 yarnpkg: qs: Denial of Service due to improper handling of null/undefined array elements [fedora-all]
bugzilla·2026-06-10·CVSS 5.3
CVE-2026-8723 [MEDIUM] CVE-2026-8723 yarnpkg: qs: Denial of Service due to improper handling of null/undefined array elements [fedora-all]
CVE-2026-8723 yarnpkg: qs: Denial of Service due to improper handling of null/undefined array elements [fedora-all]
Disclaimer: Community trackers are created by Red Hat Product Security team on a best effort basis. Package maintainers are required to ascertain if the flaw indeed affects their package, before starting the update process.
Bugzilla
CVE-2026-8723 seamonkey: qs: Denial of Service due to improper handling of null/undefined array elements [epel-all]
bugzilla·2026-06-10·CVSS 5.3
CVE-2026-8723 [MEDIUM] CVE-2026-8723 seamonkey: qs: Denial of Service due to improper handling of null/undefined array elements [epel-all]
CVE-2026-8723 seamonkey: qs: Denial of Service due to improper handling of null/undefined array elements [epel-all]
Disclaimer: Community trackers are created by Red Hat Product Security team on a best effort basis. Package maintainers are required to ascertain if the flaw indeed affects their package, before starting the update process.
Discussion:
SeaMonkey does not use npm qs now.
Bugzilla
CVE-2026-8723 mozjs78: qs: Denial of Service due to improper handling of null/undefined array elements [epel-all]
bugzilla·2026-06-10·CVSS 5.3
CVE-2026-8723 [MEDIUM] CVE-2026-8723 mozjs78: qs: Denial of Service due to improper handling of null/undefined array elements [epel-all]
CVE-2026-8723 mozjs78: qs: Denial of Service due to improper handling of null/undefined array elements [epel-all]
Disclaimer: Community trackers are created by Red Hat Product Security team on a best effort basis. Package maintainers are required to ascertain if the flaw indeed affects their package, before starting the update process.
Bugzilla
CVE-2026-8723 mozjs115: qs: Denial of Service due to improper handling of null/undefined array elements [fedora-all]
bugzilla·2026-06-10·CVSS 5.3
CVE-2026-8723 [MEDIUM] CVE-2026-8723 mozjs115: qs: Denial of Service due to improper handling of null/undefined array elements [fedora-all]
CVE-2026-8723 mozjs115: qs: Denial of Service due to improper handling of null/undefined array elements [fedora-all]
Disclaimer: Community trackers are created by Red Hat Product Security team on a best effort basis. Package maintainers are required to ascertain if the flaw indeed affects their package, before starting the update process.
Bugzilla
CVE-2026-8723 fcitx5: qs: Denial of Service due to improper handling of null/undefined array elements [fedora-all]
bugzilla·2026-06-10·CVSS 5.3
CVE-2026-8723 [MEDIUM] CVE-2026-8723 fcitx5: qs: Denial of Service due to improper handling of null/undefined array elements [fedora-all]
CVE-2026-8723 fcitx5: qs: Denial of Service due to improper handling of null/undefined array elements [fedora-all]
Disclaimer: Community trackers are created by Red Hat Product Security team on a best effort basis. Package maintainers are required to ascertain if the flaw indeed affects their package, before starting the update process.
Bugzilla
CVE-2026-8723 magicmirror: qs: Denial of Service due to improper handling of null/undefined array elements [epel-all]
bugzilla·2026-06-10·CVSS 5.3
CVE-2026-8723 [MEDIUM] CVE-2026-8723 magicmirror: qs: Denial of Service due to improper handling of null/undefined array elements [epel-all]
CVE-2026-8723 magicmirror: qs: Denial of Service due to improper handling of null/undefined array elements [epel-all]
Disclaimer: Community trackers are created by Red Hat Product Security team on a best effort basis. Package maintainers are required to ascertain if the flaw indeed affects their package, before starting the update process.
Bugzilla
CVE-2026-8723 nextcloud: qs: Denial of Service due to improper handling of null/undefined array elements [epel-all]
bugzilla·2026-06-10·CVSS 5.3
CVE-2026-8723 [MEDIUM] CVE-2026-8723 nextcloud: qs: Denial of Service due to improper handling of null/undefined array elements [epel-all]
CVE-2026-8723 nextcloud: qs: Denial of Service due to improper handling of null/undefined array elements [epel-all]
Disclaimer: Community trackers are created by Red Hat Product Security team on a best effort basis. Package maintainers are required to ascertain if the flaw indeed affects their package, before starting the update process.
Bugzilla
CVE-2026-8723 openbao: qs: Denial of Service due to improper handling of null/undefined array elements [fedora-all]
bugzilla·2026-06-10·CVSS 5.3
CVE-2026-8723 [MEDIUM] CVE-2026-8723 openbao: qs: Denial of Service due to improper handling of null/undefined array elements [fedora-all]
CVE-2026-8723 openbao: qs: Denial of Service due to improper handling of null/undefined array elements [fedora-all]
Disclaimer: Community trackers are created by Red Hat Product Security team on a best effort basis. Package maintainers are required to ascertain if the flaw indeed affects their package, before starting the update process.
Bugzilla
CVE-2026-8723 yarnpkg: qs: Denial of Service due to improper handling of null/undefined array elements [epel-all]
bugzilla·2026-06-10·CVSS 5.3
CVE-2026-8723 [MEDIUM] CVE-2026-8723 yarnpkg: qs: Denial of Service due to improper handling of null/undefined array elements [epel-all]
CVE-2026-8723 yarnpkg: qs: Denial of Service due to improper handling of null/undefined array elements [epel-all]
Disclaimer: Community trackers are created by Red Hat Product Security team on a best effort basis. Package maintainers are required to ascertain if the flaw indeed affects their package, before starting the update process.
Bugzilla
CVE-2026-8723 openbao: qs: Denial of Service due to improper handling of null/undefined array elements [epel-all]
bugzilla·2026-06-10·CVSS 5.3
CVE-2026-8723 [MEDIUM] CVE-2026-8723 openbao: qs: Denial of Service due to improper handling of null/undefined array elements [epel-all]
CVE-2026-8723 openbao: qs: Denial of Service due to improper handling of null/undefined array elements [epel-all]
Disclaimer: Community trackers are created by Red Hat Product Security team on a best effort basis. Package maintainers are required to ascertain if the flaw indeed affects their package, before starting the update process.
Bugzilla
CVE-2026-8723 icecat: qs: Denial of Service due to improper handling of null/undefined array elements [fedora-all]
bugzilla·2026-06-10·CVSS 5.3
CVE-2026-8723 [MEDIUM] CVE-2026-8723 icecat: qs: Denial of Service due to improper handling of null/undefined array elements [fedora-all]
CVE-2026-8723 icecat: qs: Denial of Service due to improper handling of null/undefined array elements [fedora-all]
Disclaimer: Community trackers are created by Red Hat Product Security team on a best effort basis. Package maintainers are required to ascertain if the flaw indeed affects their package, before starting the update process.
Bugzilla
CVE-2026-8723 cachelib: qs: Denial of Service due to improper handling of null/undefined array elements [epel-all]
bugzilla·2026-06-10·CVSS 5.3
CVE-2026-8723 [MEDIUM] CVE-2026-8723 cachelib: qs: Denial of Service due to improper handling of null/undefined array elements [epel-all]
CVE-2026-8723 cachelib: qs: Denial of Service due to improper handling of null/undefined array elements [epel-all]
Disclaimer: Community trackers are created by Red Hat Product Security team on a best effort basis. Package maintainers are required to ascertain if the flaw indeed affects their package, before starting the update process.
Bugzilla
CVE-2026-8723 mozjs140: qs: Denial of Service due to improper handling of null/undefined array elements [fedora-all]
bugzilla·2026-06-10·CVSS 5.3
CVE-2026-8723 [MEDIUM] CVE-2026-8723 mozjs140: qs: Denial of Service due to improper handling of null/undefined array elements [fedora-all]
CVE-2026-8723 mozjs140: qs: Denial of Service due to improper handling of null/undefined array elements [fedora-all]
Disclaimer: Community trackers are created by Red Hat Product Security team on a best effort basis. Package maintainers are required to ascertain if the flaw indeed affects their package, before starting the update process.
Bugzilla
CVE-2026-8723 firefox: qs: Denial of Service due to improper handling of null/undefined array elements [fedora-all]
bugzilla·2026-06-10·CVSS 5.3
CVE-2026-8723 [MEDIUM] CVE-2026-8723 firefox: qs: Denial of Service due to improper handling of null/undefined array elements [fedora-all]
CVE-2026-8723 firefox: qs: Denial of Service due to improper handling of null/undefined array elements [fedora-all]
Disclaimer: Community trackers are created by Red Hat Product Security team on a best effort basis. Package maintainers are required to ascertain if the flaw indeed affects their package, before starting the update process.
Bugzilla
CVE-2026-8723 qt5-qtwebengine: qs: Denial of Service due to improper handling of null/undefined array elements [fedora-all]
bugzilla·2026-06-10·CVSS 5.3
CVE-2026-8723 [MEDIUM] CVE-2026-8723 qt5-qtwebengine: qs: Denial of Service due to improper handling of null/undefined array elements [fedora-all]
CVE-2026-8723 qt5-qtwebengine: qs: Denial of Service due to improper handling of null/undefined array elements [fedora-all]
Disclaimer: Community trackers are created by Red Hat Product Security team on a best effort basis. Package maintainers are required to ascertain if the flaw indeed affects their package, before starting the update process.
Bugzilla
CVE-2026-8723 magicmirror: qs: Denial of Service due to improper handling of null/undefined array elements [fedora-all]
bugzilla·2026-06-10·CVSS 5.3
CVE-2026-8723 [MEDIUM] CVE-2026-8723 magicmirror: qs: Denial of Service due to improper handling of null/undefined array elements [fedora-all]
CVE-2026-8723 magicmirror: qs: Denial of Service due to improper handling of null/undefined array elements [fedora-all]
Disclaimer: Community trackers are created by Red Hat Product Security team on a best effort basis. Package maintainers are required to ascertain if the flaw indeed affects their package, before starting the update process.
Bugzilla
CVE-2026-8723 trivy: qs: Denial of Service due to improper handling of null/undefined array elements [epel-all]
bugzilla·2026-06-10·CVSS 5.3
CVE-2026-8723 [MEDIUM] CVE-2026-8723 trivy: qs: Denial of Service due to improper handling of null/undefined array elements [epel-all]
CVE-2026-8723 trivy: qs: Denial of Service due to improper handling of null/undefined array elements [epel-all]
Disclaimer: Community trackers are created by Red Hat Product Security team on a best effort basis. Package maintainers are required to ascertain if the flaw indeed affects their package, before starting the update process.
Bugzilla
CVE-2026-8723 magicmirror-module-onthisday: qs: Denial of Service due to improper handling of null/undefined array elements [fedora-all]
bugzilla·2026-06-10·CVSS 5.3
CVE-2026-8723 [MEDIUM] CVE-2026-8723 magicmirror-module-onthisday: qs: Denial of Service due to improper handling of null/undefined array elements [fedora-all]
CVE-2026-8723 magicmirror-module-onthisday: qs: Denial of Service due to improper handling of null/undefined array elements [fedora-all]
Disclaimer: Community trackers are created by Red Hat Product Security team on a best effort basis. Package maintainers are required to ascertain if the flaw indeed affects their package, before starting the update process.
Bugzilla
CVE-2026-8723 python-torch: qs: Denial of Service due to improper handling of null/undefined array elements [fedora-all]
bugzilla·2026-06-10·CVSS 5.3
CVE-2026-8723 [MEDIUM] CVE-2026-8723 python-torch: qs: Denial of Service due to improper handling of null/undefined array elements [fedora-all]
CVE-2026-8723 python-torch: qs: Denial of Service due to improper handling of null/undefined array elements [fedora-all]
Disclaimer: Community trackers are created by Red Hat Product Security team on a best effort basis. Package maintainers are required to ascertain if the flaw indeed affects their package, before starting the update process.
Bugzilla
CVE-2026-8723 python-torch: qs: Denial of Service due to improper handling of null/undefined array elements [epel-all]
bugzilla·2026-06-10·CVSS 5.3
CVE-2026-8723 [MEDIUM] CVE-2026-8723 python-torch: qs: Denial of Service due to improper handling of null/undefined array elements [epel-all]
CVE-2026-8723 python-torch: qs: Denial of Service due to improper handling of null/undefined array elements [epel-all]
Disclaimer: Community trackers are created by Red Hat Product Security team on a best effort basis. Package maintainers are required to ascertain if the flaw indeed affects their package, before starting the update process.
Bugzilla
CVE-2026-8723 seamonkey: qs: Denial of Service due to improper handling of null/undefined array elements [fedora-all]
bugzilla·2026-06-10·CVSS 5.3
CVE-2026-8723 [MEDIUM] CVE-2026-8723 seamonkey: qs: Denial of Service due to improper handling of null/undefined array elements [fedora-all]
CVE-2026-8723 seamonkey: qs: Denial of Service due to improper handling of null/undefined array elements [fedora-all]
Disclaimer: Community trackers are created by Red Hat Product Security team on a best effort basis. Package maintainers are required to ascertain if the flaw indeed affects their package, before starting the update process.
Discussion:
SeaMonkey does not use npm qs now.
Bugzilla
CVE-2026-8723 thunderbird: qs: Denial of Service due to improper handling of null/undefined array elements [fedora-all]
bugzilla·2026-06-10·CVSS 5.3
CVE-2026-8723 [MEDIUM] CVE-2026-8723 thunderbird: qs: Denial of Service due to improper handling of null/undefined array elements [fedora-all]
CVE-2026-8723 thunderbird: qs: Denial of Service due to improper handling of null/undefined array elements [fedora-all]
Disclaimer: Community trackers are created by Red Hat Product Security team on a best effort basis. Package maintainers are required to ascertain if the flaw indeed affects their package, before starting the update process.
Bugzilla
CVE-2026-8723 qt6-qtwebengine: qs: Denial of Service due to improper handling of null/undefined array elements [epel-all]
bugzilla·2026-06-10·CVSS 5.3
CVE-2026-8723 [MEDIUM] CVE-2026-8723 qt6-qtwebengine: qs: Denial of Service due to improper handling of null/undefined array elements [epel-all]
CVE-2026-8723 qt6-qtwebengine: qs: Denial of Service due to improper handling of null/undefined array elements [epel-all]
Disclaimer: Community trackers are created by Red Hat Product Security team on a best effort basis. Package maintainers are required to ascertain if the flaw indeed affects their package, before starting the update process.
Bugzilla
CVE-2026-8723 cachelib: qs: Denial of Service due to improper handling of null/undefined array elements [fedora-all]
bugzilla·2026-06-10·CVSS 5.3
CVE-2026-8723 [MEDIUM] CVE-2026-8723 cachelib: qs: Denial of Service due to improper handling of null/undefined array elements [fedora-all]
CVE-2026-8723 cachelib: qs: Denial of Service due to improper handling of null/undefined array elements [fedora-all]
Disclaimer: Community trackers are created by Red Hat Product Security team on a best effort basis. Package maintainers are required to ascertain if the flaw indeed affects their package, before starting the update process.
Bugzilla
CVE-2026-8723 nextcloud: qs: Denial of Service due to improper handling of null/undefined array elements [fedora-all]
bugzilla·2026-06-10·CVSS 5.3
CVE-2026-8723 [MEDIUM] CVE-2026-8723 nextcloud: qs: Denial of Service due to improper handling of null/undefined array elements [fedora-all]
CVE-2026-8723 nextcloud: qs: Denial of Service due to improper handling of null/undefined array elements [fedora-all]
Disclaimer: Community trackers are created by Red Hat Product Security team on a best effort basis. Package maintainers are required to ascertain if the flaw indeed affects their package, before starting the update process.
Bugzilla
CVE-2026-8723 mozjs128: qs: Denial of Service due to improper handling of null/undefined array elements [fedora-all]
bugzilla·2026-06-10·CVSS 5.3
CVE-2026-8723 [MEDIUM] CVE-2026-8723 mozjs128: qs: Denial of Service due to improper handling of null/undefined array elements [fedora-all]
CVE-2026-8723 mozjs128: qs: Denial of Service due to improper handling of null/undefined array elements [fedora-all]
Disclaimer: Community trackers are created by Red Hat Product Security team on a best effort basis. Package maintainers are required to ascertain if the flaw indeed affects their package, before starting the update process.
Bugzilla
CVE-2026-8723 fbthrift: qs: Denial of Service due to improper handling of null/undefined array elements [fedora-all]
bugzilla·2026-06-10·CVSS 5.3
CVE-2026-8723 [MEDIUM] CVE-2026-8723 fbthrift: qs: Denial of Service due to improper handling of null/undefined array elements [fedora-all]
CVE-2026-8723 fbthrift: qs: Denial of Service due to improper handling of null/undefined array elements [fedora-all]
Disclaimer: Community trackers are created by Red Hat Product Security team on a best effort basis. Package maintainers are required to ascertain if the flaw indeed affects their package, before starting the update process.
Bugzilla
CVE-2026-8723 sgx-pccs: qs: Denial of Service due to improper handling of null/undefined array elements [fedora-all]
bugzilla·2026-06-10·CVSS 5.3
CVE-2026-8723 [MEDIUM] CVE-2026-8723 sgx-pccs: qs: Denial of Service due to improper handling of null/undefined array elements [fedora-all]
CVE-2026-8723 sgx-pccs: qs: Denial of Service due to improper handling of null/undefined array elements [fedora-all]
Disclaimer: Community trackers are created by Red Hat Product Security team on a best effort basis. Package maintainers are required to ascertain if the flaw indeed affects their package, before starting the update process.
2026-05-17
Published