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.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| quasarframework | quasar | < 2.23.3 | — |
| @quasar | render-ssr-error | < 2.2.4 | — |
| @quasar | app-vite | < 3.3.0 | — |
Affected packages
| Ecosystem | Package | Affected | Fixed | Record |
|---|---|---|---|---|
| npm | @quasar/app-vite | < 3.3.0 | 3.3.0 | GHSA-r5mf-4r5x-q78f |
| npm | @quasar/render-ssr-error | < 2.2.4 | 2.2.4 | GHSA-r5mf-4r5x-q78f |