[ CVE-2026-106102 · Published 6 Oct 2026 ]
Quasar Framework: Stored/Reflected XSS via unescaped SSR meta tag rendering in getHead()
[ Why it matters ]Priority signals
- Critical severity: CVSS 10.0
[ Description ]Official description
Quasar Framework is a framework for building high-performance Vue.js user interfaces. Prior to 2.22.0, the SSR-only getHead() serializer in ui/src/plugins/meta/Meta.js used getAttr() to interpolate values supplied through useMeta() into title, meta, link, and script markup without HTML text or quoted-attribute encoding. injectServerMeta() appended that output to the raw server-rendered response. An attacker who can influence dynamic page metadata, such as a post title, product name, excerpt, or display name, can terminate the intended HTML context and inject executable markup before hydration. The client-side apply() path is not affected because it uses DOM APIs that encode attributes. This issue is fixed in version 2.22.0.
[ Fixes ]Fixes and patches
- quasar 2.22.0Fixed version · GitHub Advisories · npm package quasar: upgrade to 2.22.0 or later (affected < 2.22.0)
[ Packages ]Affected open-source packages
- quasar npmAffected < 2.22.0 · fixed in 2.22.0 · GHSA-pq96-jpmf-w254