---
id: CVE-2026-112946
title: >-
  Vite: Files outside `server.fs.allow` could be served when project paths match
  system paths on non-Windows machine
summary: >-
  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
  networ…
severity: medium
cvss: 6.3
cvssVector: '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'
cvssSource: cna
cwe:
  - CWE-22
  - CWE-284
vendor: vitejs
product: vite
affected:
  - 'vite >= 8.3.0, < 8.3.3'
  - 'vite >= 8.2.0, < 8.2.4'
  - 'vite >= 8.0.0, < 8.1.6'
  - 'vite >= 7.0.0, < 7.3.7'
  - vite < 6.4.4
  - vite-plus < 1.1.0
ssvc:
  exploitation: poc
  automatable: 'no'
  technicalImpact: partial
  timestamp: '2026-10-20T16:45:38.089794Z'
exploitAvailable: true
published: '2026-10-20'
updated: '2026-10-20'
sourceUpdated: '2026-10-20T16:46:18.810Z'
source: CVEORG
sourceUrl: 'https://www.cve.org/CVERecord?id=CVE-2026-112946'
references:
  - url: 'https://github.com/vitejs/vite/security/advisories/GHSA-rq7h-c2jc-7f22'
    label: 'https://github.com/vitejs/vite/security/advisories/GHSA-rq7h-c2jc-7f22'
  - url: 'https://github.com/vitejs/vite/pull/23656'
    label: 'https://github.com/vitejs/vite/pull/23656'
  - url: >-
      https://github.com/vitejs/vite/commit/170b92791421bcd484f7325936d989a82d6bd4aa
    label: >-
      https://github.com/vitejs/vite/commit/170b92791421bcd484f7325936d989a82d6bd4aa
  - url: >-
      https://github.com/vitejs/vite/commit/45c0e3392a298626955a0ab93a8e51232daac721
    label: >-
      https://github.com/vitejs/vite/commit/45c0e3392a298626955a0ab93a8e51232daac721
  - url: >-
      https://github.com/vitejs/vite/commit/c3e06f92e969952466b4e2f5801e85e1e00cd905
    label: >-
      https://github.com/vitejs/vite/commit/c3e06f92e969952466b4e2f5801e85e1e00cd905
  - url: >-
      https://github.com/vitejs/vite/commit/e570d8d016096b5f8f6f09808376ca6cf73f27d0
    label: >-
      https://github.com/vitejs/vite/commit/e570d8d016096b5f8f6f09808376ca6cf73f27d0
  - url: >-
      https://github.com/vitejs/vite/commit/f0d76c7da13d5e794807b82f0b86c1931a8438e3
    label: >-
      https://github.com/vitejs/vite/commit/f0d76c7da13d5e794807b82f0b86c1931a8438e3
tags:
  - cve.org
  - exploit-available
ingestedAt: '2026-10-20T16:10:53.334Z'
---

## Overview

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.

## Affected

- `vite >= 8.3.0, < 8.3.3`
- `vite >= 8.2.0, < 8.2.4`
- `vite >= 8.0.0, < 8.1.6`
- `vite >= 7.0.0, < 7.3.7`
- `vite < 6.4.4`
- `vite-plus < 1.1.0`

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.
