<?xml version='1.0' encoding='UTF-8'?>
<?xml-stylesheet href="/static/style.xsl" type="text/xsl"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
  <id>https://vulnerability.circl.lu/rss/recent/all/10</id>
  <title>Most recent entries from all</title>
  <updated>2026-10-07T17:57:25.003708+00:00</updated>
  <author>
    <name>Vulnerability-Lookup</name>
    <email>info@circl.lu</email>
  </author>
  <link href="https://vulnerability.circl.lu" rel="alternate"/>
  <generator uri="https://lkiesow.github.io/python-feedgen" version="1.0.0">python-feedgen</generator>
  <subtitle>Contains only the most 10 recent entries.</subtitle>
  <entry>
    <id>https://vulnerability.circl.lu/vuln/fkie_cve-2026-106106</id>
    <title>fkie_cve-2026-106106</title>
    <updated>2026-10-07T17:57:25.023054+00:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>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.</p>
      </div>
    </content>
    <link href="https://vulnerability.circl.lu/vuln/fkie_cve-2026-106106"/>
  </entry>
  <entry>
    <id>https://vulnerability.circl.lu/vuln/ghsa-r5mf-4r5x-q78f</id>
    <title>GHSA-r5mf-4r5x-q78f — Quasar Framework: SSR/SSG dev error page discloses the full shell environment and its &lt;/script&gt; escape is bypassable</title>
    <updated>2026-10-07T17:57:25.023175+00:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml"><p><strong>Affected:</strong> npm: @quasar/render-ssr-error, npm: @quasar/app-vite</p>
<p>### Summary</p>
<p>The error page that Quasar CLI shows when an SSR or SSG render throws in development serializes every variable in `process.env`, every request header and every cookie into the HTTP response, and the dev server binds `0.0.0.0` by default. Any host that can reach the port therefore gets the developer's cloud keys, registry tokens and database URLs from a single unauthenticated GET. The same page embeds that data inside a `&lt;script&gt;` element behind a `replaceAll('&lt;/script&gt;', ...)` guard that is ASCII-case-sensitive and requires a literal `&gt;`, so `&lt;/SCRIPT&gt;`, `&lt;/script &gt;` and `&lt;/script/&gt;` all escape the element and give script execution in the dev server's origin.</p>
<p>### Details</p>
<p>`renderSSRError()` builds the page by splicing a JSON blob into a prebuilt bundle (`utils/render-ssr-error/src/index.js`):</p>
<p>```js
errorHtml:
  before +
  JSON.stringify(data).replaceAll('&lt;/script&gt;', String.raw`&lt;\/script&gt;`) +
  after
```</p>
<p>`before` and `after` are the two halves of the compiled error-page UI, split inside a `&lt;script type="module"&gt;` element, so `data` is emitted as a JS object literal in raw script text. The data itself comes from `utils/render-ssr-error/src/env.js`:</p>
<p>```js
function getEnvironmentVariablesData () {
  return Object.keys(process.env).reduce((acc, name) =&gt; {
    acc[ name ] = process.env[ name ]
    return acc
  }, {})
}</p>
<p>export function getEnv (req) {
  return {
    Request: getRequestData(req),
    Headers: getHeadersData(req),
    Cookies: getCookiesData(req),…</p></div>
    </content>
    <link href="https://vulnerability.circl.lu/vuln/ghsa-r5mf-4r5x-q78f"/>
  </entry>
</feed>
