GitHub Advisoryadvisory · npm

GHSA-q9mq-245r-4g93 Quasar Framework: App Vite build cleanup can recursively remove unsafe configured output directories

MEDIUM Published 2026-10-07 Modified 2026-10-07 Official page ↗
Aliases
CVE-2026-106109
Ecosystem
npm
Packages
@quasar/app-vite
Severity
Moderate
CVSS vector
CVSS:4.0/AV:L/AC:H/AT:P/PR:H/UI:A/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
Weaknesses
CWE-22, CWE-73
Reviewed
2026-10-07

Affected packages

• npm @quasar/app-vite: >= 1.0.0, < 3.3.0 → fixed in 3.3.0

Description

Summary `@quasar/app-vite` recursively removes `build.distDir` before producing build artifacts. The configured path was made absolute, but it was not checked before removal. A configuration mistake could therefore target the project root, user home directory, a filesystem root, or another directory outside the project. Details The build command and mode builders passed the resolved output directory directly to `fs-extra` recursive removal. Existing symlink ancestors were not resolved before deletion either, so a path that appeared to be inside the project could operate on a directory outside it. `quasar.config` is trusted application code, and no attacker-controlled input reaches `build.distDir` by default. This issue is primarily destructive-build safety hardening. It can become a security boundary when build configuration is generated or influenced by less-trusted automation. Impact Running a normal Quasar build with an unsafe `build.distDir` can delete data accessible to the build user before compilation begins. Remediation Validate the effective deletion target before every artifact cleanup. Always reject filesystem roots, the user home directory and the project root; resolve existing symlink ancestors; require an explicit `build.allowOutsideProjectDistDir` opt-in for external output directories; and log the exact resolved target before removal.

Related

Alias · CVE (1)

  • CVE-2026-106109 Quasar Framework is a framework for building high-performance Vue.js user interfaces. vulnerability

Weakness · CWE (2)

  • CWE-22 Improper Limitation of a Pathname to a Restricted Directory weakness
  • CWE-73 External Control of File Name or Path weakness

References