Description
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.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.
Published: 2026-10-13
Score: 8.7 High
EPSS: < 1% Very Low
KEV: No
Impact: Remote Denial of Service via unhandled promise rejection
Action: Immediate Patch
AI Analysis

Impact

Qwik’s default server-side JSON deserialization contains a flaw where resource._resolved is passed to Promise.resolve even when it is an attacker‑controlled thenable. When that thenable is a QRL for an unregistered symbol, an orphaned asynchronous rejection is created. Under Node.js’s default unhandled‑rejection policy, this rejection terminates the process. The result is a single crafted request that crashes the entire Qwik server, and repeated requests can keep a cluster of replicas unavailable. The weakness is a type‑of‑intended‑identity error (CWE‑248).

Affected Systems

This issue affects all Qwik installations running @builder.io/qwik versions earlier than 1.20.0 and @qwik.dev/core earlier than 2.0.0‑beta.37. Versions 1.20.0 and later, and 2.0.0‑beta.37 and later, contain the patch that prevents the untrusted thenable from being passed to Promise.resolve.

Risk and Exploitability

With a CVSS score of 8.7, the flaw is considered high severity. No EPSS data is available, but the vulnerability can be triggered with an unauthenticated HTTP request, indicating that exploitation is feasible even without privileged access. The vulnerability is not listed in CISA’s KEV catalog, yet the simplicity of the attack vector suggests that an attacker could repeatedly crash a service by sending a single crafted JSON payload.

Generated by OpenCVE AI on October 14, 2026 at 06:44 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade to @builder.io/qwik 1.20.0 or later and @qwik.dev/core 2.0.0‑beta.37 or newer to apply the patch that blocks untrusted thenables.
  • If upgrading immediately is not possible, isolate the Qwik server behind a firewall that blocks or rate‑limits JSON payloads until a patch can be applied.
  • Validate incoming JSON on the server side to reject any objects whose then property is an object, thereby preventing Promise.resolve from receiving attacker‑controlled thenables.

Generated by OpenCVE AI on October 14, 2026 at 06:44 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-x586-xvc8-g7q6 Qwik: Crashing any Qwik Server via Resource thenable
History

Wed, 14 Oct 2026 19:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'yes', 'Exploitation': 'none', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Tue, 13 Oct 2026 19:15:00 +0000

Type Values Removed Values Added
Description 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.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.
Title Qwik: Crashing any Qwik Server via Resource thenable
Weaknesses CWE-248
References
Metrics cvssV4_0

{'score': 8.7, 'vector': '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'}


Subscriptions

No data.

cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-10-14T16:36:19.123Z

Reserved: 2026-09-02T18:12:13.535Z

Link: CVE-2026-84994

cve-icon Vulnrichment

Updated: 2026-10-14T16:36:10.668Z

cve-icon NVD

Status : Awaiting Analysis

Published: 2026-10-13T19:20:52.743

Modified: 2026-10-14T17:19:46.043

Link: CVE-2026-84994

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-10-14T06:45:17Z

Weaknesses