[ CVE-2026-106106 · Published 6 Oct 2026 ]
Quasar Framework: SSR/SSG dev error page discloses the full shell environment and its </script> escape is bypassable
[ Why it matters ]Priority signals
- Public proof-of-concept exploit exists (CISA SSVC)
[ Description ]Official description
Quasar Framework is a framework for building high-performance Vue.js user interfaces. Prior to @quasar/render-ssr-error 2.2.4 and @quasar/app-vite 3.3.0, renderSSRError() in utils/render-ssr-error/src/index.js used diagnostic data from utils/render-ssr-error/src/env.js to serialize process.env, request headers, and cookies into the HTTP page returned by serve.devError(), while the development server listened on all interfaces by default. Any network-adjacent client that reaches an SSR or SSG render failure through this development-only error path can obtain shell environment secrets. The renderer escaped only one exact lowercase script closing-tag spelling, so case variants and valid closing-tag delimiter variants in reflected diagnostic data could terminate the script element and inject markup; executing the injected code in a developer browser additionally requires the payload to accompany that developer's request. This issue is fixed in @quasar/render-ssr-error 2.2.4 and @quasar/app-vite 3.3.0.
[ Fixes ]Fixes and patches
- @quasar/render-ssr-error 2.2.4Fixed version · GitHub Advisories · npm package @quasar/render-ssr-error: upgrade to 2.2.4 or later (affected <= 2.2.3)
- @quasar/app-vite 3.3.0Fixed version · GitHub Advisories · npm package @quasar/app-vite: upgrade to 3.3.0 or later (affected <= 3.2.0)
[ Packages ]Affected open-source packages
- @quasar/render-ssr-error npmAffected <= 2.2.3 · fixed in 2.2.4 · GHSA-r5mf-4r5x-q78f
- @quasar/app-vite npmAffected <= 3.2.0 · fixed in 3.3.0 · GHSA-r5mf-4r5x-q78f