GHSA-m6jq-g7gq-5w3c

Suggest an improvement
Source
https://github.com/advisories/GHSA-m6jq-g7gq-5w3c
Import Source
https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2026/02/GHSA-m6jq-g7gq-5w3c/GHSA-m6jq-g7gq-5w3c.json
JSON Data
https://api.osv.dev/v1/vulns/GHSA-m6jq-g7gq-5w3c
Aliases
Published
2026-02-03T20:47:55Z
Modified
2026-02-04T18:06:22.472203Z
Severity
  • 5.3 (Medium) CVSS_V4 - CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N CVSS Calculator
Summary
Qwik SSR XSS via Unsafe Virtual Node Serialization
Details

Summary

Description A Cross-site Scripting (CWE-79) vulnerability in Qwik.js' server-side rendering virtual attribute serialization allows a remote attacker to inject arbitrary web scripts into server-rendered pages via virtual attributes. Successful exploitation permits script execution in a victim's browser in the context of the affected origin. This affects qwik-city before version 1.19.0. This has been patched in qwik-city version 1.19.0.

Impact

This vulnerability impacts applications that dynamically populate Virtual Node attributes with keys/values that users can influence. Applications that hard-code these keys/values are unaffected.

Qwik doesn't use traditional hydration. Instead, it serializes application state into the HTML so the client can resume execution from the server-rendered output. To support this, Qwik v1 marks component boundaries with HTML comments. SSR builds comment content for Virtual components by concatenating structural attribute names and values without any escaping or quoting. An attacker-controlled key or value can prematurely close the HTML comment and inject arbitrary HTML/JS.

Successful exploitation permits script execution in a victim’s browser in the context of the affected origin. Additionally, because Qwik uses these serialized comment markers for resumability, breaking comment structure can lead to resume/hydration desync and unexpected client-side behavior.

Patches

This has been patched in qwik-city version 1.19.0. Users are strongly encouraged to update to the latest available release.

Database specific
{
    "nvd_published_at": "2026-02-03T22:16:30Z",
    "cwe_ids": [
        "CWE-79"
    ],
    "severity": "MODERATE",
    "github_reviewed": true,
    "github_reviewed_at": "2026-02-03T20:47:55Z"
}
References

Affected packages

npm / @builder.io/qwik-city

Package

Name
@builder.io/qwik-city
View open source insights on deps.dev
Purl
pkg:npm/%40builder.io/qwik-city

Affected ranges

Type
SEMVER
Events
Introduced
0Unknown introduced version / All previous versions are affected
Fixed
1.19.0

Database specific

source
"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2026/02/GHSA-m6jq-g7gq-5w3c/GHSA-m6jq-g7gq-5w3c.json"