{"id":"CVE-2026-112946","summary":"Vite: Files outside `server.fs.allow` could be served when project paths match system paths on non-Windows machine","details":"Vite is a frontend tooling framework for JavaScript. Prior to 6.4.4, 7.3.7, 8.1.6, 8.2.4, and 8.3.3, import analysis can record a root-relative browser URL in safeModulePaths instead of the cleaned resolved module identifier. On a network-accessible, non-Windows development server, an imported project file whose URL matches an absolute host path can authorize a later raw-filesystem request for that host file, provided server.fs.deny does not block it. The request can disclose the matching file outside the project root, but it does not allow arbitrary path traversal because the host path must correspond to a project-relative URL authorized by the application graph. This issue is fixed in versions 6.4.4, 7.3.7, 8.1.6, 8.2.4, and 8.3.3.","aliases":["GHSA-rq7h-c2jc-7f22"],"modified":"2026-10-21T02:55:52.508850898Z","published":"2026-10-20T15:03:55.196Z","database_specific":{"cna_assigner":"GitHub_M","cwe_ids":["CWE-22","CWE-284"],"osv_generated_from":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/112xxx/CVE-2026-112946.json"},"references":[{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/112xxx/CVE-2026-112946.json"},{"type":"FIX","url":"https://github.com/vitejs/vite/commit/170b92791421bcd484f7325936d989a82d6bd4aa"},{"type":"FIX","url":"https://github.com/vitejs/vite/commit/45c0e3392a298626955a0ab93a8e51232daac721"},{"type":"FIX","url":"https://github.com/vitejs/vite/commit/c3e06f92e969952466b4e2f5801e85e1e00cd905"},{"type":"FIX","url":"https://github.com/vitejs/vite/commit/e570d8d016096b5f8f6f09808376ca6cf73f27d0"},{"type":"FIX","url":"https://github.com/vitejs/vite/commit/f0d76c7da13d5e794807b82f0b86c1931a8438e3"},{"type":"FIX","url":"https://github.com/vitejs/vite/pull/23656"},{"type":"ADVISORY","url":"https://github.com/vitejs/vite/security/advisories/GHSA-rq7h-c2jc-7f22"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-112946"}],"affected":[{"ranges":[{"type":"GIT","repo":"https://github.com/vitejs/vite","events":[{"introduced":"434e8e9495436a60789f2b588a04a6a24a3d1661"},{"fixed":"fea5b21dd9524ed7308632407b996f1fe5942c9c"},{"introduced":"fa79f9ab699f9a22a6f9b50f3d247be6b51f684d"},{"fixed":"eb3137d38934b557a410c85e54f10682a944440b"},{"introduced":"b565af6f1123a62b3058253b2147574b8515e89f"},{"fixed":"dade886f0cc17fedf777eff804593d2af182abd4"},{"introduced":"b85f32275b443bf6b647572a9209f1e078b5b4dd"},{"fixed":"284f6b58d6b511cebdd52ab7731975f385bf3c6b"},{"introduced":"0"},{"fixed":"5f0d9a4aaa31124695e7cf6ffe349e9d0a4b705e"},{"fixed":"65337be5a7838c422a45329971fb967bd9fe97be"},{"fixed":"170b92791421bcd484f7325936d989a82d6bd4aa"},{"fixed":"45c0e3392a298626955a0ab93a8e51232daac721"},{"fixed":"c3e06f92e969952466b4e2f5801e85e1e00cd905"},{"fixed":"e570d8d016096b5f8f6f09808376ca6cf73f27d0"},{"fixed":"f0d76c7da13d5e794807b82f0b86c1931a8438e3"}],"database_specific":{"extracted_events":[{"range":[{"introduced":"8.3.0"},{"fixed":"8.3.3"}],"source":"AFFECTED_FIELD","strategy":"StringRangeExpression"},{"strategy":"StringRangeExpression","range":[{"introduced":"8.2.0"},{"fixed":"8.2.4"}],"source":"AFFECTED_FIELD"},{"strategy":"StringRangeExpression","range":[{"introduced":"8.0.0"},{"fixed":"8.1.6"}],"source":"AFFECTED_FIELD"},{"source":"AFFECTED_FIELD","strategy":"StringRangeExpression","range":[{"introduced":"7.0.0"},{"fixed":"7.3.7"}]},{"range":[{"introduced":"0"},{"fixed":"6.4.4"}],"source":"AFFECTED_FIELD","strategy":"StringRangeExpression"},{"source":"AFFECTED_FIELD","strategy":"StringRangeExpression","range":[{"introduced":"0"},{"fixed":"1.1.0"}]},{"range":[{"fixed":"170b92791421bcd484f7325936d989a82d6bd4aa"}],"source":"REFERENCES_COMMIT"},{"range":[{"fixed":"45c0e3392a298626955a0ab93a8e51232daac721"}],"source":"REFERENCES_COMMIT"},{"range":[{"fixed":"c3e06f92e969952466b4e2f5801e85e1e00cd905"}],"source":"REFERENCES_COMMIT"},{"range":[{"fixed":"e570d8d016096b5f8f6f09808376ca6cf73f27d0"}],"source":"REFERENCES_COMMIT"},{"source":"REFERENCES_COMMIT","range":[{"fixed":"f0d76c7da13d5e794807b82f0b86c1931a8438e3"}]}]}}],"versions":["v7.3.6","v8.1.5","v8.2.2","v8.3.2","v8.3.1","create-vite@9.2.1","v8.3.0","plugin-legacy@8.2.3","v8.2.1","create-vite@9.1.2","v8.2.0","plugin-legacy@8.2.1","plugin-legacy@8.2.0","v8.1.4","v8.1.3","v8.1.2","create-vite@9.1.1","v8.1.1","create-vite@9.1.0","v7.3.5","plugin-legacy@8.1.0","v8.1.0","plugin-legacy@8.1.0-beta.0","v8.1.0-beta.0","v8.0.16","v7.3.3","v8.0.15","v8.0.14","plugin-legacy@8.0.2","v8.0.13","create-vite@9.0.7","v8.0.12","v8.0.11","v7.3.2","create-vite@9.0.6","v8.0.10","create-vite@9.0.5","v8.0.9","v8.0.8","v8.0.7","v8.0.6","v8.0.5","create-vite@9.0.4","v8.0.4","plugin-legacy@8.0.1","v8.0.3","v8.0.2","create-vite@9.0.3","v8.0.1","create-vite@9.0.2","create-vite@9.0.1","create-vite@9.0.0","plugin-legacy@8.0.0","v8.0.0","create-vite@8.3.0","v7.3.1","v7.3.0","v7.2.7","v7.2.6","v7.2.5","create-vite@8.2.0","v7.2.4","v7.2.3","create-vite@8.1.0","create-vite@8.0.3","v7.2.2","v7.2.1","v7.2.0","v7.2.0-beta.1","v7.2.0-beta.0","v7.1.11","v7.1.10","v7.1.9","v7.1.8","create-vite@8.0.2","create-vite@8.0.1","create-vite@8.0.0","create-vite@8.0.0-beta.0","create-vite@7.1.3","v7.1.7","create-vite@7.1.2","v7.1.6","v7.1.5","v7.0.6","v7.1.4","v7.1.3","create-vite@7.1.1","v7.1.2","v7.1.1","plugin-legacy@7.2.1","create-vite@7.1.0","plugin-legacy@7.2.0","v7.1.0","v7.1.0-beta.1","v7.1.0-beta.0","plugin-legacy@7.1.0","plugin-legacy@7.0.1","v7.0.5","create-vite@7.0.3","create-vite@7.0.2","v7.0.4","create-vite@7.0.1","v7.0.3","v7.0.2","v7.0.1","create-vite@7.0.0","plugin-legacy@7.0.0","v7.0.0","v2.0.0-beta.31","plugin-vue@1.0.6","v2.0.0-beta.30","v2.0.0-beta.29","v2.0.0-beta.28","plugin-legacy@1.2.1","v2.0.0-beta.27","v2.0.0-beta.26","v2.0.0-beta.25","plugin-vue-jsx@1.0.2","v2.0.0-beta.24","v2.0.0-beta.23","plugin-legacy@1.2.0","v2.0.0-beta.22","v2.0.0-beta.21","v2.0.0-beta.20","v2.0.0-beta.19","v2.0.0-beta.18","v2.0.0-beta.17","v2.0.0-beta.16","plugin-legacy@1.1.1","plugin-vue@1.0.5","v2.0.0-beta.15","v2.0.0-beta.14","v2.0.0-beta.13","create-app@1.1.0","plugin-legacy@1.1.0","plugin-legacy@1.0.1","v2.0.0-beta.12","v2.0.0-beta.11","plugin-legacy@1.0.0","plugin-react-refresh@1.1.1","v2.0.0-beta.10","v2.0.0-beta.9","v2.0.0-beta.8","create-app@1.0.6","v2.0.0-beta.7","v2.0.0-beta.6","create-app@1.0.5","v2.0.0-beta.5","create-app@1.0.4","plugin-vue-jsx@1.0.1","v2.0.0-beta.4","plugin-vue-jsx@1.0.0","plugin-vue@1.0.4","v2.0.0-beta.3","create-app@1.0.3","create-app@1.0.2","plugin-vue@1.0.3","v2.0.0-beta.2","create-app@1.0.1","create-app@1.0.0","v2.0.0-beta.1","plugin-react-refresh@1.1.0","v2.0.0-alpha.5","v2.0.0-alpha.4","v2.0.0-alpha.3","v2.0.0-alpha.2","v2.0.0-alpha.1","v1.0.0-rc.13","v1.0.0-rc.11","v1.0.0-rc.10","v1.0.0-rc.9","v1.0.0-rc.8","v1.0.0-rc.7","v1.0.0-rc.6","v1.0.0-rc.5"],"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-112946.json"}}],"schema_version":"1.9.0","severity":[{"type":"CVSS_V4","score":"CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N"}]}