CVE-2026-106102 PUBLISHED

Quasar Framework: Stored/Reflected XSS via unescaped SSR meta tag rendering in getHead()

Assigner: GitHub_M
Reserved: 06.10.2026 Published: 06.10.2026 Updated: 06.10.2026

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.

Metrics

CVSS Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:N
CVSS Score: 10

Product Status

Vendor quasarframework
Product quasar
Versions
  • Version < 2.22.0 is affected

References

Problem Types

  • CWE-79: Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting') CWE
  • CWE-116: Improper Encoding or Escaping of Output CWE