{"id":"CVE-2026-106109","state":"PUBLISHED","title":"Quasar Framework: App Vite build cleanup can recursively remove unsafe configured output directories","description":"Quasar Framework is a framework for building high-performance Vue.js user interfaces. From 1.0.0 until 3.3.0, @quasar/app-vite recursively removed the resolved build.distDir before building without rejecting the project root, user home directory, filesystem roots, or symlink-resolved external directories. An unsafe trusted configuration can delete data writable by the build user before compilation begins. No attacker-controlled input reaches build.distDir by default, so exploitation requires compromised or less-trusted automation to influence build configuration, or a developer to run a mistaken configuration. This issue is fixed in version 3.3.0.","publishedAt":"2026-10-06T17:32:08.136Z","updatedAt":"2026-10-06T19:43:35.076Z","severity":{"score":4.1,"label":"Medium","version":"4.0","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","source":"GitHub_M"},"assigner":"GitHub_M","products":["quasarframework quasar","@quasar app-vite"],"affected":[{"vendor":"quasarframework","product":"quasar","versions":[{"version":">= 2.7.0, < 2.23.3","status":"affected"}]},{"vendor":"@quasar","product":"app-vite","versions":[{"version":">= 1.0.0, < 3.3.0","status":"affected"}]}],"references":["https://github.com/quasarframework/quasar/security/advisories/GHSA-q9mq-245r-4g93","https://github.com/quasarframework/quasar/commit/6c009734b406e246a0855ed060e3a822de8aecc1","https://github.com/quasarframework/quasar/releases/tag/@quasar/app-vite-v3.3.0"],"weaknesses":["CWE-22","CWE-73"],"ingestedAt":"2026-10-29T20:10:23.711Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2026/106xxx/CVE-2026-106109.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-106109","state":"PUBLISHED","datePublished":"2026-10-06T17:32:08.136Z","dateUpdated":"2026-10-06T19:43:35.076Z","assignerShortName":"GitHub_M","assignerOrgId":"a0819718-46f1-4df5-94e2-005712e83aaa","dateReserved":"2026-10-06T15:33:55.333Z"},"containers":{"cna":{"title":"Quasar Framework: App Vite build cleanup can recursively remove unsafe configured output directories","descriptions":[{"lang":"en","value":"Quasar Framework is a framework for building high-performance Vue.js user interfaces. From 1.0.0 until 3.3.0, @quasar/app-vite recursively removed the resolved build.distDir before building without rejecting the project root, user home directory, filesystem roots, or symlink-resolved external directories. An unsafe trusted configuration can delete data writable by the build user before compilation begins. No attacker-controlled input reaches build.distDir by default, so exploitation requires compromised or less-trusted automation to influence build configuration, or a developer to run a mistaken configuration. This issue is fixed in version 3.3.0."}],"affected":[{"vendor":"quasarframework","product":"quasar","versions":[{"version":">= 2.7.0, < 2.23.3","status":"affected"}]},{"vendor":"@quasar","product":"app-vite","versions":[{"version":">= 1.0.0, < 3.3.0","status":"affected"}]}],"references":[{"url":"https://github.com/quasarframework/quasar/security/advisories/GHSA-q9mq-245r-4g93","name":"https://github.com/quasarframework/quasar/security/advisories/GHSA-q9mq-245r-4g93","tags":["x_refsource_CONFIRM"]},{"url":"https://github.com/quasarframework/quasar/commit/6c009734b406e246a0855ed060e3a822de8aecc1","name":"https://github.com/quasarframework/quasar/commit/6c009734b406e246a0855ed060e3a822de8aecc1","tags":["x_refsource_MISC"]},{"url":"https://github.com/quasarframework/quasar/releases/tag/@quasar/app-vite-v3.3.0","name":"https://github.com/quasarframework/quasar/releases/tag/@quasar/app-vite-v3.3.0","tags":["x_refsource_MISC"]}],"metrics":[{"cvssV4_0":{"attackVector":"LOCAL","attackComplexity":"HIGH","attackRequirements":"PRESENT","privilegesRequired":"HIGH","userInteraction":"ACTIVE","vulnConfidentialityImpact":"NONE","vulnIntegrityImpact":"NONE","vulnAvailabilityImpact":"HIGH","subConfidentialityImpact":"NONE","subIntegrityImpact":"NONE","subAvailabilityImpact":"NONE","baseScore":4.1,"baseSeverity":"MEDIUM","vectorString":"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","version":"4.0"}}],"problemTypes":[{"descriptions":[{"cweId":"CWE-22","lang":"en","description":"CWE-22: Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal')","type":"CWE"}]},{"descriptions":[{"cweId":"CWE-73","lang":"en","description":"CWE-73: External Control of File Name or Path","type":"CWE"}]}],"providerMetadata":{"shortName":"GitHub_M","orgId":"a0819718-46f1-4df5-94e2-005712e83aaa","dateUpdated":"2026-10-06T17:32:08.136Z"},"source":{"advisory":"GHSA-q9mq-245r-4g93","discovery":"UNKNOWN"}},"adp":[{"title":"CISA ADP Vulnrichment","metrics":[{"other":{"type":"ssvc","content":{"timestamp":"2026-10-06T19:43:25.036654Z","id":"CVE-2026-106109","options":[{"Exploitation":"none"},{"Automatable":"no"},{"Technical Impact":"partial"}],"role":"CISA Coordinator","version":"2.0.3"}}}],"providerMetadata":{"shortName":"CISA-ADP","orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","dateUpdated":"2026-10-06T19:43:35.076Z"}}]}}}