Vulnerabilities in pkg:npm/@builder.io/qwik-city

PACKAGE
Advisory Identifier: GHSA-whhv-gg5v-864r
Advisory Summary

CVE-2026-32701 is a HIGH (CVSS 7.5) denial of service vulnerability (CWE-843: Access of Resource Using Incompatible Type ('Type Confusion')) affecting @builder.io/qwik city libraries in the npm ecosystem. The issue involves qwik city has array method pollution in formdata processing allows type confusion and dos. Remediation is available by upgrading affected packages to version 1.19.2.

8 Known Advisory Record(s)
Package Vulnerability Intelligence

pkg:npm/@builder.io/qwik-city

8 Known Advisory Record(s)

Vulnerability advisories affecting package pkg:npm/@builder.io/qwik-city. Select an advisory below to view technical details or fixes.

Advisory ID CVE / NVD Severity Summary
GHSA-whhv-gg5v-864r CVE-2026-32701 HIGH Qwik City has array method pollution in FormData processing allows type confusion and DoS
GHSA-vm6g-8r4h-22x8 CVE-2026-25155 MODERATE Qwik City CSRF protection middleware does not work properly for content type header with parameters (eg. multipart/form-data)
GHSA-92j7-wgmg-f32m CVE-2026-25149 LOW Qwik City Open Redirect via fixTrailingSlash
GHSA-r666-8gjf-4v5f CVE-2026-25151 MODERATE Qwik City has a CSRF Protection Bypass via Content-Type Header Validation
GHSA-xqg6-98cw-gxhq CVE-2026-25150 CRITICAL Prototype Pollution via FormData Processing in Qwik City
GHSA-m6jq-g7gq-5w3c CVE-2026-25148 MODERATE Qwik SSR XSS via Unsafe Virtual Node Serialization
GHSA-qr9h-j6xg-2j72 CVE-2025-53620 CRITICAL Qwik's unhandled exception vulnerabilty can cause server crashes from malicious requests
GHSA-c54w-7j5f-xg98 CVE-2023-2307 MODERATE @builder.io/qwik-city Cross-Site Request Forgery vulnerability

CVE-2026-32701 at a Glance

CVE Identifier CVE-2026-32701
GHSA Identifier GHSA-whhv-gg5v-864r
Severity HIGH
CVSS v3.1 Base Score 7.5
CWE Classification CWE-843: Access of Resource Using Incompatible Type ('Type Confusion')
Affected Product @builder.io/qwik city
Package Ecosystem npm
Published Date
Last Updated

Security Impact

CVSS: 7.5

The security impact metrics below are parsed directly from the CVSS v3.1 vector string (CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H).

Attack Vector Network (AV:N)
Attack Complexity Low (AC:L)
Privileges Required None (PR:N)
User Interaction None (UI:N)
Scope Unchanged (S:U)
Confidentiality None (C:N)
Integrity None (I:N)
Availability High (A:H)

How to Fix CVE-2026-32701

To remediate this vulnerability, upgrade all affected @builder.io/qwik city dependencies to a patched release. Both direct and transitive dependencies should be checked, as frameworks or security libraries may pull in vulnerable versions transitively.

@builder.io/qwik-city fixed: 1.19.2
npm install @builder.io/qwik-city@1.19.2
Verify Direct and Transitive Dependencies

Run the following command in your project directory to verify that all resolved dependencies use the patched release:

npm ls @builder.io/qwik-city

How to Check if You Are Affected

To determine whether your Node.js application is affected by CVE-2026-32701, inspect your project dependencies using npm:

npm ls @builder.io/qwik-city

Analyze the terminal output to locate any version of @builder.io/qwik city in your dependency tree. If any resolved version matches the vulnerable ranges listed in the table below (for example, versions earlier than 1.19.2), your application is affected.

Note: The npm ls @builder.io/qwik-city command inspects dependencies declared in your package.json and lockfile; it does not perform automated runtime dynamic scanning.

Technical Details

Vulnerability Mechanism & Technical Analysis

This vulnerability is classified under CWE-843: Access of Resource Using Incompatible Type ('Type Confusion'), where the product allocates or initializes a resource such as a pointer, object, or variable using one type, but it later accesses that resource using a type that is incompatible with the original type. In @builder.io/qwik city, software state validation or input boundaries are circumvented during processing. Review the official source advisory statement below for specific affected components, classes, and reproduction details.

Source Advisory Statement

**Summary** Qwik City improperly inferred arrays from dotted form field names during `FormData` parsing. By submitting mixed array-index and object-property keys for the same path, an attacker could cause user-controlled properties to be written onto values that application code expected to be arrays. **Description** When processing `application/x-www-form-urlencoded` or `multipart/form-data` requests, Qwik City converted dotted field names such as `items.0` and `items.1` into nested structures. If a path was interpreted as an array, additional attacker-controlled keys on the same path, such as `items.toString`, `items.push`, `items.valueOf`, or `items.length`, could alter the resulting server-side value in unexpected ways. Applications that assumed these parsed values were safe arrays could be affected. Depending on application behavior, this could lead to request handling failures, denial of service through malformed array state or oversized lengths, and type confusion in downstream code. This issue affects form parsing in Qwik City request handling. It does not require authentication if the vulnerable route is publicly reachable. **Impact** An attacker can send crafted form submissions that cause parsed input to differ from the application’s expected shape. Possible outcomes include: - Triggering runtime errors when application code calls array methods on attacker-influenced values - Inflating array length or otherwise creating malformed structures that increase server work or memory use - Causing type confusion in application logic that trusts parsed form data to be a normal array There is no direct evidence that this issue enables confidentiality or integrity impact by itself; the primary risk is denial of service and application instability. **Patched Versions** Patched in 1.19.2. **Workarounds** Until patched, avoid trusting parsed form data to be a well-formed array when using dotted field names, and validate or normalize action input before using array methods or relying on array shape.

CVE-2026-32701 Affected @builder.io/qwik city Versions

1 component(s)
Fixed Versions:
1.19.2
Product / Package Ecosystem Affected Versions Fixed Version
@builder.io/qwik-city
npm
< 1.19.2
1.19.2

References

Frequently Asked Questions

What is CVE-2026-32701?
CVE-2026-32701 is a security vulnerability in @builder.io/qwik city involving Qwik City has array method pollution in FormData processing allows type confusion and DoS under CWE-843: Access of Resource Using Incompatible Type ('Type Confusion').
Which @builder.io/qwik city versions are affected?
Affected versions include releases prior to 1.19.2 across affected packages: @builder.io/qwik-city.
What version fixes CVE-2026-32701?
Upgrading to 1.19.2 (or the latest patched release for your respective branch) resolves the vulnerability.
Is @builder.io/qwik-city affected?
Yes, @builder.io/qwik-city is affected in releases prior to 1.19.2. Upgrade your dependency to 1.19.2 or later.
What is the CVSS score of CVE-2026-32701?
CVE-2026-32701 has a CVSS v3.1 base score of 7.5 (HIGH) with vector string CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H.
What CWE is associated with CVE-2026-32701?
CVE-2026-32701 is classified under CWE-843: Access of Resource Using Incompatible Type ('Type Confusion') (The product allocates or initializes a resource such as a pointer, object, or variable using one type, but it later accesses that resource using a type that is incompatible with the original type.).
How can I check npm dependencies for CVE-2026-32701?
Run the dependency tree command: 'npm ls @builder.io/qwik-city'. This command lists direct and transitive dependencies in your build configuration so you can verify if a vulnerable version is resolved.
Machine-readable OSV JSON OSV v1.5 Schema
Normalized schema output
{
  "schema_version" : "1.4.0",
  "id" : "GHSA-whhv-gg5v-864r",
  "modified" : "2026-03-20T15:56:44Z",
  "published" : "2026-03-20T15:56:44Z",
  "aliases" : [ "CVE-2026-32701" ],
  "summary" : "Qwik City has array method pollution in FormData processing allows type confusion and DoS",
  "details" : "**Summary**\n\nQwik City improperly inferred arrays from dotted form field names during `FormData` parsing. By submitting mixed array-index and object-property keys for the same path, an attacker could cause user-controlled properties to be written onto values that application code expected to be arrays.\n\n**Description**\n\nWhen processing `application/x-www-form-urlencoded` or `multipart/form-data` requests, Qwik City converted dotted field names such as `items.0` and `items.1` into nested structures. If a path was interpreted as an array, additional attacker-controlled keys on the same path, such as `items.toString`, `items.push`, `items.valueOf`, or `items.length`, could alter the resulting server-side value in unexpected ways.\n\nApplications that assumed these parsed values were safe arrays could be affected. Depending on application behavior, this could lead to request handling failures, denial of service through malformed array state or oversized lengths, and type confusion in downstream code.\n\nThis issue affects form parsing in Qwik City request handling. It does not require authentication if the vulnerable route is publicly reachable.\n\n**Impact**\n\nAn attacker can send crafted form submissions that cause parsed input to differ from the application’s expected shape. Possible outcomes include:\n- Triggering runtime errors when application code calls array methods on attacker-influenced values\n- Inflating array length or otherwise creating malformed structures that increase server work or memory use\n- Causing type confusion in application logic that trusts parsed form data to be a normal array\n\nThere is no direct evidence that this issue enables confidentiality or integrity impact by itself; the primary risk is denial of service and application instability.\n\n**Patched Versions**\n\nPatched in 1.19.2.\n\n**Workarounds**\n\nUntil patched, avoid trusting parsed form data to be a well-formed array when using dotted field names, and validate or normalize action input before using array methods or relying on array shape.",
  "severity" : [ {
    "type" : "CVSS_V3",
    "score" : "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"
  } ],
  "affected" : [ {
    "package" : {
      "ecosystem" : "npm",
      "name" : "@builder.io/qwik-city"
    },
    "ranges" : [ {
      "type" : "ECOSYSTEM",
      "events" : [ {
        "introduced" : "0"
      }, {
        "fixed" : "1.19.2"
      } ]
    } ]
  } ],
  "references" : [ {
    "type" : "WEB",
    "url" : "https://github.com/QwikDev/qwik/security/advisories/GHSA-whhv-gg5v-864r"
  }, {
    "type" : "ADVISORY",
    "url" : "https://nvd.nist.gov/vuln/detail/CVE-2026-32701"
  }, {
    "type" : "WEB",
    "url" : "https://github.com/QwikDev/qwik/commit/7b5867c3dd8925df9aa96c4296b1e95a4c2af87d"
  }, {
    "type" : "PACKAGE",
    "url" : "https://github.com/QwikDev/qwik"
  } ],
  "database_specific" : {
    "cwe_ids" : [ "CWE-843" ],
    "severity" : "HIGH",
    "github_reviewed" : true,
    "github_reviewed_at" : "2026-03-20T15:56:44Z",
    "nvd_published_at" : "2026-03-20T09:16:14Z"
  }
}