CVE-2026-32701: @builder.io/qwik city Denial of Service Vulnerability
HIGHCVE-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.
CVE-2026-32701 at a Glance
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).
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.
npm install @builder.io/qwik-city@1.19.2
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
CVE-2026-32701 Affected @builder.io/qwik city Versions
1 component(s)| 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?
Which @builder.io/qwik city versions are affected?
What version fixes CVE-2026-32701?
Is @builder.io/qwik-city affected?
What is the CVSS score of CVE-2026-32701?
What CWE is associated with CVE-2026-32701?
How can I check npm dependencies for CVE-2026-32701?
Machine-readable OSV JSON
OSV v1.5 Schema
{
"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"
}
}