Skip to content
Heist/ feed
Back to feed
Medium

Quasar Framework: App Vite SSG page output paths can escape the configured distribution directory

Type: advisorySources: OSV

Quasar Framework is a framework for building high-performance Vue.js user interfaces. From 3.1.0 until 3.3.0, @quasar/app-vite SSG page definitions returned by getSsgPages() could supply dir and filename values that were joined to build.distDir without verifying the final destination. Parent traversal or an existing symlink below the distribution directory could create new HTML files or directories outside the output tree with the build user's permissions. Application configuration and SSG page definitions are trusted by default, so exploitation requires a build process that derives them from external or otherwise less-trusted content; existing files remain protected by the renderer's no-overwrite behavior. This issue is fixed in version 3.3.0.

Products
Not specified
Affected versions
Not specified
Fixed versions
Not specified
CVEs
CVE-2026-106108
Confirmed fixed CVEs
Not specified
Updated in this feed
4 Nov 2026, 16:05 UTC · Revision 1

Source evidence

Quasar Framework: App Vite SSG page output paths can escape the configured distribution directory

core-osv · Original source

Published 13 Oct 2026, 14:55 UTC

Quasar Framework is a framework for building high-performance Vue.js user interfaces. From 3.1.0 until 3.3.0, @quasar/app-vite SSG page definitions returned by getSsgPages() could supply dir and filename values that were joined to build.distDir without verifying the final destination. Parent traversal or an existing symlink below the distribution directory could create new HTML files or directories outside the output tree with the build user's permissions. Application configuration and SSG page definitions are trusted by default, so exploitation requires a build process that derives them from external or otherwise less-trusted content; existing files remain protected by the renderer's no-overwrite behavior. This issue is fixed in version 3.3.0.

osv:CVE-2026-106108
Complete source record
{
  "id": "e8b47e32e4fa153867deef3f8e92b2655d94391436d25de9036490460aeae0c4",
  "url": "https://osv.dev/vulnerability/CVE-2026-106108",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "Quasar Framework: App Vite SSG page output paths can escape the configured distribution directory",
    "summary": "Quasar Framework is a framework for building high-performance Vue.js user interfaces. From 3.1.0 until 3.3.0, @quasar/app-vite SSG page definitions returned by getSsgPages() could supply dir and filename values that were joined to build.distDir without verifying the final destination. Parent traversal or an existing symlink below the distribution directory could create new HTML files or directories outside the output tree with the build user's permissions. Application configuration and SSG page definitions are trusted by default, so exploitation requires a build process that derives them from external or otherwise less-trusted content; existing files remain protected by the renderer's no-overwrite behavior. This issue is fixed in version 3.3.0.",
    "evidence": "osv:CVE-2026-106108",
    "products": [],
    "severity": "medium",
    "structured": {
      "id": "CVE-2026-106108",
      "aliases": [
        "CVE-2026-106108",
        "GHSA-vhhq-m2gm-rwc9"
      ],
      "metrics": [
        {
          "type": "CVSS_V4",
          "score": "CVSS:4.0/AV:L/AC:H/AT:P/PR:N/UI:A/VC:N/VI:H/VA:L/SC:N/SI:N/SA:N"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "repo": "https://github.com/quasarframework/quasar",
              "type": "GIT",
              "events": [
                {
                  "introduced": "1bae220c1205e28b31d54621c8954a05947224bb"
                },
                {
                  "fixed": "db082a4407936be7865c7c85dd1862bb213f0c08"
                },
                {
                  "introduced": "2b775e36028423061bf49a189195053a072b4ae2"
                },
                {
                  "fixed": "605f4da74c54bd3c3f3a22350396ca8c1ee0e084"
                },
                {
                  "fixed": "cdd4daeec839215540221122763c7a17cd478abc"
                }
              ],
              "database_specific": {
                "extracted_events": [
                  {
                    "range": [
                      {
                        "introduced": "2.22.0"
                      },
                      {
                        "fixed": "2.23.3"
                      }
                    ],
                    "source": "AFFECTED_FIELD",
                    "strategy": "StringRangeExpression"
                  },
                  {
                    "range": [
                      {
                        "introduced": "3.1.0"
                      },
                      {
                        "fixed": "3.3.0"
                      }
                    ],
                    "source": "AFFECTED_FIELD",
                    "strategy": "StringRangeExpression"
                  },
                  {
                    "range": [
                      {
                        "fixed": "cdd4daeec839215540221122763c7a17cd478abc"
                      }
                    ],
                    "source": "REFERENCES_COMMIT"
                  }
                ]
              }
            }
          ],
          "versions": [
            "@quasar/icongenie-v6.1.2",
            "quasar-v2.23.2",
            "quasar-v2.23.0",
            "@quasar/app-vite-v3.2.0",
            "quasar-v2.22.0",
            "@quasar/app-vite-v3.1.0"
          ],
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-106108.json"
          }
        }
      ],
      "modified": "2026-10-28T02:30:37.191980508Z",
      "provider": "osv",
      "references": [
        "https://github.com/quasarframework/quasar/releases/tag/@quasar/app-vite-v3.3.0",
        "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/106xxx/CVE-2026-106108.json",
        "https://github.com/quasarframework/quasar/security/advisories/GHSA-vhhq-m2gm-rwc9",
        "https://nvd.nist.gov/vuln/detail/CVE-2026-106108",
        "https://github.com/quasarframework/quasar/commit/cdd4daeec839215540221122763c7a17cd478abc"
      ],
      "provider_metadata": {
        "cwe_ids": [
          "CWE-22"
        ],
        "cna_assigner": "GitHub_M",
        "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/106xxx/CVE-2026-106108.json"
      }
    },
    "related_cves": [
      {
        "value": "CVE-2026-106108",
        "evidence": "/id"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 504488,
  "published_at": "2026-10-13T14:55:50.358+00:00"
}