{
  "@id": "urn:uuid:936e27c0-f6c4-41c1-9d0a-ee66b6927de7",
  "role": "Document Creator",
  "author": "https://tuxcare.com",
  "version": 8,
  "@context": "https://openvex.dev/ns/v0.2.0",
  "timestamp": "2026-11-06T13:36:00.057506+00:00",
  "statements": [
    {
      "status": "affected",
      "products": [
        {
          "@id": "pkg:npm/qs@2.2.5",
          "identifiers": {
            "purl": "pkg:npm/qs@2.2.5"
          }
        }
      ],
      "timestamp": "2026-10-29T07:31:18.734944+00:00",
      "status_notes": "Vulnerability CVE-2014-10064 affects version 2.2.5 of qs.",
      "vulnerability": {
        "name": "CVE-2014-10064"
      },
      "action_statement": "Vulnerability CVE-2014-10064 affects version 2.2.5 of qs."
    },
    {
      "status": "not_affected",
      "products": [
        {
          "@id": "pkg:npm/qs@2.2.5",
          "identifiers": {
            "purl": "pkg:npm/qs@2.2.5"
          }
        }
      ],
      "timestamp": "2026-11-03T15:12:01.936733+00:00",
      "status_notes": "Vulnerability CVE-2014-7191 does not affect version 2.2.5 of qs. not_affected \u2014 Target version 2.2.5 is not affected by CVE-2014-7191. All three upstream fixes that prevent sparse array memory exhaustion are present in the code: (1) array index limit of 20, (2) parameter limit of 1000 keys, and (3) sparse array compaction. These fixes were authored by Nathan LaFreniere (quitlahok@gmail.com) and shipped in upstream release 2.2.5, which TuxCare subsequently onboarded. The CV...",
      "justification": "vulnerable_code_not_present",
      "vulnerability": {
        "name": "CVE-2014-7191"
      },
      "impact_statement": "not_affected \u2014 Target version 2.2.5 is not affected by CVE-2014-7191. All three upstream fixes that prevent sparse array memory exhaustion are present in the code: (1) array index limit of 20, (2) parameter limit of 1000 keys, and (3) sparse array compaction. These fixes were authored by Nathan LaFreniere (quitlahok@gmail.com) and shipped in upstream release 2.2.5, which TuxCare subsequently onboarded. The CV..."
    },
    {
      "status": "affected",
      "products": [
        {
          "@id": "pkg:npm/qs@2.2.5",
          "identifiers": {
            "purl": "pkg:npm/qs@2.2.5"
          }
        }
      ],
      "timestamp": "2026-09-24T09:31:26.931840+00:00",
      "status_notes": "Vulnerability CVE-2017-1000048 affects version 2.2.5 of qs, and is fixed in 2.2.5-tuxcare.1.",
      "vulnerability": {
        "name": "CVE-2017-1000048"
      },
      "action_statement": "Vulnerability CVE-2017-1000048 affects version 2.2.5 of qs, and is fixed in 2.2.5-tuxcare.1."
    },
    {
      "status": "affected",
      "products": [
        {
          "@id": "pkg:npm/qs@2.2.5",
          "identifiers": {
            "purl": "pkg:npm/qs@2.2.5"
          }
        }
      ],
      "timestamp": "2026-09-24T09:31:26.931840+00:00",
      "status_notes": "Vulnerability CVE-2022-24999 affects version 2.2.5 of qs, and is fixed in 2.2.5-tuxcare.1.",
      "vulnerability": {
        "name": "CVE-2022-24999"
      },
      "action_statement": "Vulnerability CVE-2022-24999 affects version 2.2.5 of qs, and is fixed in 2.2.5-tuxcare.1."
    },
    {
      "status": "affected",
      "products": [
        {
          "@id": "pkg:npm/qs@2.2.5",
          "identifiers": {
            "purl": "pkg:npm/qs@2.2.5"
          }
        }
      ],
      "timestamp": "2026-10-22T10:19:00.146694+00:00",
      "status_notes": "Vulnerability CVE-2025-15284 affects version 2.2.5 of qs, and is fixed in 2.2.5-tuxcare.3.",
      "vulnerability": {
        "name": "CVE-2025-15284"
      },
      "action_statement": "Vulnerability CVE-2025-15284 affects version 2.2.5 of qs, and is fixed in 2.2.5-tuxcare.3."
    },
    {
      "status": "not_affected",
      "products": [
        {
          "@id": "pkg:npm/qs@2.2.5",
          "identifiers": {
            "purl": "pkg:npm/qs@2.2.5"
          }
        }
      ],
      "timestamp": "2026-11-03T15:02:16.356690+00:00",
      "status_notes": "Vulnerability CVE-2026-110816 does not affect version 2.2.5 of qs. not_affected \u2014 Version 2.2.5 is NOT affected by CVE-2026-110816. The vulnerable `arrayFormat: 'comma'` feature was introduced in qs v6.7.0 (September 2018), four years after version 2.2.5 was released (October 2014). The code path that performs comma-based array joining does not exist in this version. Runtime testing confirms the CVE POC payloads execute cleanly without throwing.",
      "justification": "vulnerable_code_not_present",
      "vulnerability": {
        "name": "CVE-2026-110816"
      },
      "impact_statement": "not_affected \u2014 Version 2.2.5 is NOT affected by CVE-2026-110816. The vulnerable `arrayFormat: 'comma'` feature was introduced in qs v6.7.0 (September 2018), four years after version 2.2.5 was released (October 2014). The code path that performs comma-based array joining does not exist in this version. Runtime testing confirms the CVE POC payloads execute cleanly without throwing."
    },
    {
      "status": "not_affected",
      "products": [
        {
          "@id": "pkg:npm/qs@2.2.5",
          "identifiers": {
            "purl": "pkg:npm/qs@2.2.5"
          }
        }
      ],
      "timestamp": "2026-11-06T13:36:00.057506+00:00",
      "status_notes": "Vulnerability CVE-2026-110910 does not affect version 2.2.5 of qs. not_affected \u2014 qs 2.2.5-tuxcare.3 predates `allowEmptyArrays` (added in 6.12.0). Its stringify has no early-return path that emits an unencoded key. Empty arrays and objects emit nothing, and every emitted key goes through encodeURIComponent. Not affected.",
      "justification": "vulnerable_code_not_in_execute_path",
      "vulnerability": {
        "name": "CVE-2026-110910"
      },
      "impact_statement": "not_affected \u2014 qs 2.2.5-tuxcare.3 predates `allowEmptyArrays` (added in 6.12.0). Its stringify has no early-return path that emits an unencoded key. Empty arrays and objects emit nothing, and every emitted key goes through encodeURIComponent. Not affected."
    },
    {
      "status": "not_affected",
      "products": [
        {
          "@id": "pkg:npm/qs@2.2.5",
          "identifiers": {
            "purl": "pkg:npm/qs@2.2.5"
          }
        }
      ],
      "timestamp": "2026-09-24T09:31:26.931840+00:00",
      "status_notes": "Vulnerability CVE-2026-2391 does not affect version 2.2.5 of qs. Version 2.2.5 is not vulnerable. Summary: The target repository (qs v2.2.5-tuxcare.1) does not contain the comma-separated value parsing feature that is vulnerable in CVE-2026-2391. This version predates the introduction of the 'comma' option entirely, making it immune to this specific vulnerability. [terminalized not_affected from patch_application_manual/not_vulnerable]",
      "justification": "vulnerable_code_not_present",
      "vulnerability": {
        "name": "CVE-2026-2391"
      },
      "impact_statement": "Version 2.2.5 is not vulnerable. Summary: The target repository (qs v2.2.5-tuxcare.1) does not contain the comma-separated value parsing feature that is vulnerable in CVE-2026-2391. This version predates the introduction of the 'comma' option entirely, making it immune to this specific vulnerability. [terminalized not_affected from patch_application_manual/not_vulnerable]"
    },
    {
      "status": "affected",
      "products": [
        {
          "@id": "pkg:npm/qs@2.2.5",
          "identifiers": {
            "purl": "pkg:npm/qs@2.2.5"
          }
        }
      ],
      "timestamp": "2026-10-15T13:10:14.095155+00:00",
      "status_notes": "Vulnerability CVE-2026-82417 affects version 2.2.5 of qs, and is fixed in 2.2.5-tuxcare.2.",
      "vulnerability": {
        "name": "CVE-2026-82417"
      },
      "action_statement": "Vulnerability CVE-2026-82417 affects version 2.2.5 of qs, and is fixed in 2.2.5-tuxcare.2."
    },
    {
      "status": "not_affected",
      "products": [
        {
          "@id": "pkg:npm/qs@2.2.5",
          "identifiers": {
            "purl": "pkg:npm/qs@2.2.5"
          }
        }
      ],
      "timestamp": "2026-09-24T09:31:26.931840+00:00",
      "status_notes": "Vulnerability CVE-2026-82562 does not affect version 2.2.5 of qs. not_affected \u2014 Target version 2.2.5 is not affected by CVE-2026-82562. The vulnerability concerns a comma-parsing feature (comma: true option) that bypasses arrayLimit checks when using bracket notation (a[]=1,2,3,4). This feature does not exist in version 2.2.5 - it was introduced in v6.14.2+, several major versions later. The target predates the vulnerable code by years. The parseArrayValue function, comma ...",
      "justification": "vulnerable_code_not_present",
      "vulnerability": {
        "name": "CVE-2026-82562"
      },
      "impact_statement": "not_affected \u2014 Target version 2.2.5 is not affected by CVE-2026-82562. The vulnerability concerns a comma-parsing feature (comma: true option) that bypasses arrayLimit checks when using bracket notation (a[]=1,2,3,4). This feature does not exist in version 2.2.5 - it was introduced in v6.14.2+, several major versions later. The target predates the vulnerable code by years. The parseArrayValue function, comma ..."
    },
    {
      "status": "not_affected",
      "products": [
        {
          "@id": "pkg:npm/qs@2.2.5",
          "identifiers": {
            "purl": "pkg:npm/qs@2.2.5"
          }
        }
      ],
      "timestamp": "2026-09-24T09:31:26.931840+00:00",
      "status_notes": "Vulnerability CVE-2026-8723 does not affect version 2.2.5 of qs. not_affected \u2014 Version 2.2.5 does not contain the vulnerable code pattern. The vulnerability exists in versions >=6.11.1 <6.15.2 where the comma arrayFormat combined with encodeValuesOnly option calls utils.maybeMap without null guards, causing TypeError on .length access for null/undefined array elements. Version 2.2.5 predates these features entirely - it has no arrayFormat option, no encodeValuesOnly optio...",
      "justification": "vulnerable_code_not_present",
      "vulnerability": {
        "name": "CVE-2026-8723"
      },
      "impact_statement": "not_affected \u2014 Version 2.2.5 does not contain the vulnerable code pattern. The vulnerability exists in versions >=6.11.1 <6.15.2 where the comma arrayFormat combined with encodeValuesOnly option calls utils.maybeMap without null guards, causing TypeError on .length access for null/undefined array elements. Version 2.2.5 predates these features entirely - it has no arrayFormat option, no encodeValuesOnly optio..."
    },
    {
      "status": "not_affected",
      "products": [
        {
          "@id": "pkg:npm/qs@2.2.5",
          "identifiers": {
            "purl": "pkg:npm/qs@2.2.5"
          }
        }
      ],
      "timestamp": "2026-10-29T07:31:18.734944+00:00",
      "status_notes": "Vulnerability GHSA-crvj-3gj9-gm2p is a false positive for qs 2.2.5.",
      "vulnerability": {
        "name": "GHSA-crvj-3gj9-gm2p"
      },
      "impact_statement": "The vulnerability has been withdrawn."
    }
  ]
}
