p PatchFirst

PatchFirst · Aktuelle Sicherheitslücken

Sicherheitslücken in qs

In den letzten 30 Tagen veröffentlichte Sicherheitslücken für qs: 0. Davon im KEV-Katalog: 0.

RSS ↗
Sicherheitslücken filtern
Filter zurücksetzen

Sicherheitslücken: 9

  1. CVE-2026-82562

    Mittel · CVSS 6.3EPSS 0,54%Korrektur verfügbar

    qs.parse does not enforce arrayLimit on comma groups under bracket-push keys when throwOnLimitExceeded is set (incomplete fix for CVE-2026-2391)

    ### Summary When `qs.parse` is called with `comma: true` and `throwOnLimitExceeded: true`, a comma-separated value under a bracket-push key (`a[]=1,2,3,4`) is split into an array without being compared against `arrayLimit`, while the same value under a flat key (`a=1,2,3,4`), an indexed key (`a[0]=`), a nested key (`a[b]=`), or a dotted key (`a.b=` with `allowDots`) throws the documented `RangeError`. A single parameter such as `a[]=1,2,2,...` therefore produces an inner array of arbitrary length even though the caller opted into the hard limit. This is the `[]=` key form that the fix for CVE-2026-2391 (qs 6.14.2) did not cover. ### Det

    • Auf 6.16.0 aktualisieren
    Veröffentlicht Aktualisiert
  2. CVE-2026-82417

    Mittel · CVSS 6.3EPSS 0,4%Korrektur verfügbar

    qs.stringify throws TypeError on objects with a non-callable constructor.isBuffer property

    ### Summary `qs.stringify` throws a `TypeError` when it serializes an object whose own `constructor` property has a truthy, non-callable `isBuffer` member. `utils.isBuffer` duck-types buffers by calling `obj.constructor.isBuffer(obj)` after checking only that the property is truthy, so a value such as `{ constructor: { isBuffer: "x" } }` makes the call throw `TypeError: obj.constructor.isBuffer is not a function`. ### Details `lib/stringify.js:127` calls `utils.isBuffer` on every non-primitive value it serializes. `utils.isBuffer` (`lib/utils.js:332`) reads `obj.constructor.isBuffer` and invokes it without verifying that it is a func

    • Auf 6.16.0 aktualisieren
    Veröffentlicht Aktualisiert
  3. CVE-2026-8723

    Mittel · CVSS 6.3EPSS 0,42%Korrektur verfügbar

    qs.stringify crashes on null/undefined entries in comma-format arrays under encodeValuesOnly

    ### 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 bot

    • Auf 6.15.2 aktualisieren
    Veröffentlicht Aktualisiert
  4. CVE-2026-2391

    Mittel · CVSS 6.3EPSS 0,54%Korrektur verfügbar

    qs's arrayLimit bypass in comma parsing allows denial of service

    ### Summary The `arrayLimit` option in qs does not enforce limits for comma-separated values when `comma: true` is enabled, allowing attackers to cause denial-of-service via memory exhaustion. This is a bypass of the array limit enforcement, similar to the bracket notation bypass addressed in GHSA-6rw7-vpxm-498p (CVE-2025-15284). ### Details When the `comma` option is set to `true` (not the default, but configurable in applications), qs allows parsing comma-separated strings as arrays (e.g., `?param=a,b,c` becomes `['a', 'b', 'c']`). However, the limit check for `arrayLimit` (default: 20) and the optional throwOnLimitExceeded occur after the

    • Auf 6.14.2 aktualisieren
    Veröffentlicht Aktualisiert
  5. CVE-2025-15284

    Mittel · CVSS 6.3EPSS 0,45%Korrektur verfügbar

    arrayLimit bypass in bracket notation allows DoS via memory exhaustion

    Improper Input Validation vulnerability in qs (parse modules) allows HTTP DoS.This issue affects qs: < 6.14.1. Summary The arrayLimit option in qs did not enforce limits for bracket notation (a[]=1&a[]=2), only for indexed notation (a[0]=1). This is a consistency bug; arrayLimit should apply uniformly across all array notations. Note: The default parameterLimit of 1000 effectively mitigates the DoS scenario originally described. With default options, bracket notation cannot produce arrays larger than parameterLimit regardless of arrayLimit, because each a[]=valueconsumes one parameter slot. The severity has been reduced accordingly. Deta

    • Auf 6.14.1 aktualisieren
    Veröffentlicht Aktualisiert
  6. CVE-2022-24999

    Hoch · CVSS 7.5EPSS 15,62%Korrektur verfügbar

    CVE-2022-24999

    qs before 6.10.3, as used in Express before 4.17.3 and other products, allows attackers to cause a Node process hang for an Express application because an __ proto__ key can be used. In many typical Express 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 (and therefore Express 4.17.3, which has "deps: [email protected]" in its release description, is not vulnerable).

    • Auf 6.10.3 aktualisieren
    • Auf 6.2.4 aktualisieren
    • Auf 6.3.3 aktualisieren
    • Auf 6.4.1 aktualisieren
    • Auf 6.5.3 aktualisieren
    • Auf 6.6.1 aktualisieren
    • Auf 6.7.3 aktualisieren
    • Auf 6.8.3 aktualisieren
    • Auf 6.9.7 aktualisieren
    Veröffentlicht Aktualisiert
  7. CVE-2014-10064

    Hoch · CVSS 7.5EPSS 1,38%Korrektur verfügbar

    CVE-2014-10064

    The qs module before 1.0.0 does not have an option or default for specifying object depth and when parsing a string representing a deeply nested object will block the event loop for long periods of time. An attacker could leverage this to cause a temporary denial-of-service condition, for example, in a web application, other requests would not be processed while this blocking is occurring.

    • Auf 1.0.0 aktualisieren
    Veröffentlicht Aktualisiert
  8. CVE-2017-1000048

    Hoch · CVSS 7.5EPSS 2,42%Korrektur verfügbar

    CVE-2017-1000048

    the web framework using ljharb's qs module older than v6.3.2, v6.2.3, v6.1.2, and v6.0.4 is vulnerable to a DoS. A malicious user can send a evil request to cause the web framework crash.

    • Auf 6.0.4 aktualisieren
    • Auf 6.1.2 aktualisieren
    • Auf 6.2.3 aktualisieren
    • Auf 6.3.2 aktualisieren
    Veröffentlicht Aktualisiert
  9. CVE-2014-7191

    Nicht bewertetEPSS 8,31%Korrektur verfügbar

    CVE-2014-7191

    The qs module before 1.0.0 in Node.js does not call the compact function for array data, which allows remote attackers to cause a denial of service (memory consumption) by using a large index value to create a sparse array.

    • Auf 1.0.0 aktualisieren
    Veröffentlicht Aktualisiert

Prüfen Sie Ihren Server

Gleichen Sie Ihren installierten Stack und seine Versionen mit den aktuellen Sicherheitsmeldungen ab.

Prüfen Sie Ihren Server →