{"id":"CVE-2026-84994","title":"Qwik is a performance-focused JavaScript framework","summary":"Qwik is a performance-focused JavaScript framework. Prior to @builder.io/qwik 1.20.0 and @qwik.dev/core 2.0.0-beta.37, default server-side qwik-json deserialization causes ResourceSerializer.$fill$ to pass resource._resolved to Promise.r…","severity":"high","cwe":["CWE-248"],"published":"2026-10-13","updated":"2026-10-14","sourceUpdated":"2026-10-14T17:19:46.043","source":"NVD","sourceUrl":"https://nvd.nist.gov/vuln/detail/CVE-2026-84994","references":[{"url":"https://github.com/QwikDev/qwik/commit/c1e7444402f9592b5cf9096e10bf303ab4640511","label":"security-advisories@github.com"},{"url":"https://github.com/QwikDev/qwik/pull/8655","label":"security-advisories@github.com"},{"url":"https://github.com/QwikDev/qwik/releases/tag/@builder.io/qwik@1.20.0","label":"security-advisories@github.com"},{"url":"https://github.com/QwikDev/qwik/security/advisories/GHSA-x586-xvc8-g7q6","label":"security-advisories@github.com"},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-84994"},{"url":"https://github.com/advisories/GHSA-x586-xvc8-g7q6"}],"tags":["nvd","cve.org","ghsa","npm"],"epss":0.00524,"epssPercentile":0.44275,"ingestedAt":"2026-10-13T19:43:29.150Z","vendor":"QwikDev","product":"qwik","affected":["qwik < 2.0.0-beta37","qwik < 1.20.0"],"cvss":8.7,"cvssVector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N","ssvc":{"exploitation":"none","automatable":"yes","technicalImpact":"partial","timestamp":"2026-10-14T16:35:04.214453Z"},"cvssSource":"cna","aliases":["GHSA-x586-xvc8-g7q6"],"ecosystem":"npm","patched":["@builder.io/qwik 1.20.0","@qwik.dev/core 2.0.0-beta37"],"slug":"CVE-2026-84994","body":"## Overview\n\nQwik is a performance-focused JavaScript framework. Prior to @builder.io/qwik 1.20.0 and @qwik.dev/core 2.0.0-beta.37, default server-side qwik-json deserialization causes ResourceSerializer.$fill$ to pass resource._resolved to Promise.resolve without first rejecting attacker-controlled thenables. An unauthenticated request can provide a plain object whose then property is a QRL for an unregistered symbol, causing an orphaned asynchronous rejection that terminates Node.js under its default unhandled-rejection policy. A single request can crash a server, and repeated requests can keep replicas unavailable. This issue is fixed in @builder.io/qwik 1.20.0 and @qwik.dev/core 2.0.0-beta.37.\n\n## Remediation\n\nRefer to the linked advisories for vendor-supplied fixes and affected version ranges.\n\n## Package advisory (CVE-2026-84994)\n\nAffected packages:\n\n- `@builder.io/qwik < 1.20.0`\n- `@qwik.dev/core < 2.0.0-beta37`\n\nPatched in:\n\n- `@builder.io/qwik 1.20.0`\n- `@qwik.dev/core 2.0.0-beta37`\n\nSource: https://github.com/advisories/GHSA-x586-xvc8-g7q6","depth":"twilight","depthScore":48,"depthScoreParts":{"impact":47.8,"likelihood":0.1,"exploitation":0,"ransomware":0},"changes":[{"seq":221395,"id":"CVE-2026-84994","ts":1792031182617,"field":"cvss","old":null,"new":"8.7"},{"seq":221394,"id":"CVE-2026-84994","ts":1792031182617,"field":"severity","old":"none","new":"high"}]}