Vite leaks first 4 bytes of files outside server.fs via query
Key facts
- Attack vector
- Network
- Privileges required
- None
- User interaction
- None
- Attack complexity
- Low
- Attack requirements
- Present
- Impact type
- Information disclosure
- Confidentiality · integrity · availability
- Low · None · None
- Fix status
- Partial Red Hat: 9 without a fix
Attack profile from CVSS 4.0 · CNA. Fix status from CNA, GitHub and Red Hat. Impact type from CWE-200.
Summary
Vite versions from 8.2.0 before 8.2.4 and from 8.3.0 before 8.3.3 are affected, as are vite-plus versions from 0.2.8 before 1.1.0. A request containing the ?vite-wasm-instance query reads files outside the server.fs setting without applying its checks. When the WebAssembly parse of such a file fails, the error message contains the file's first 4 bytes (CWE-209), so a remote attacker without privileges or user interaction can read those bytes.
Written with Claude Haiku 5.5 from the sources below · 2026-10-28
Description from the CNA
Vite is a frontend tooling framework for JavaScript. From 8.2.0 until 8.2.4 and 8.3.3, the first 4 bytes of files outside of server.fs setting can be returned to the browser by a request containing ?vite-wasm-instance. Requests containing the ?vite-wasm-instance query are handled by the internal Wasm plugin's load hook. The hook removes the query and reads the resulting path directly from disk, but the server.fs checks were not applied. After reading the file, Vite attempts to parse it as WebAssembly. When that parse fails, Node and deno throws an error that contains the first 4 bytes of the file. This vulnerability is fixed in 8.2.4 and 8.3.3.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- None
- Automatable
- No
- Technical impact
- Partial
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| vitejs | vite | 8.3.0 to before 8.3.3; 8.2.0 to before 8.2.4 | 8.3.3, 8.2.4 | Patch available | CNA |
| vitejs | vite-plus | 0.2.8 to before 1.1.0 | 1.1.0 | Patch available | CNA |
| — | vite (npm) | 8.3.0 to before 8.3.3 | 8.3.3 | Patch available | GHSA-vfpm-58rq-9qcg |
| — | vite (npm) | 8.2.0 to before 8.2.4 | 8.2.4 | Patch available | GHSA-vfpm-58rq-9qcg |
| — | vite-plus (npm) | 0.2.8 to before 1.1.0 | 1.1.0 | Patch available | GHSA-vfpm-58rq-9qcg |
- vite Vendorvitejs Affected 8.3.0 to before 8.3.3; 8.2.0 to before 8.2.4 Fixed in 8.3.3, 8.2.4 Patch available CNA
- vite-plus Vendorvitejs Affected 0.2.8 to before 1.1.0 Fixed in 1.1.0 Patch available CNA
- vite (npm) Vendor— Affected 8.3.0 to before 8.3.3 Fixed in 8.3.3 Patch available GHSA-vfpm-58rq-9qcg
- vite (npm) Vendor— Affected 8.2.0 to before 8.2.4 Fixed in 8.2.4 Patch available GHSA-vfpm-58rq-9qcg
- vite-plus (npm) Vendor— Affected 0.2.8 to before 1.1.0 Fixed in 1.1.0 Patch available GHSA-vfpm-58rq-9qcg
Remediation
Upgrade vite to 8.2.4 or 8.3.3 and vite-plus to 1.1.0. Red Hat rates this Moderate and lists no available fix plan for Red Hat AMQ Broker 7, Red Hat Ansible Automation Platform 2, Red Hat Build of Keycloak, Red Hat Build of Podman Desktop, Red Hat JBoss Enterprise Application Platform 8, and other products.
Written with Claude Haiku 5.5 from the sources below · 2026-10-28
- Fix · CNA vite (vitejs) Fixed in 8.3.3, 8.2.4
- Fix · CNA vite-plus (vitejs) Fixed in 1.1.0
- Fix · GHSA-vfpm-58rq-9qcg vite (npm) Fixed in 8.3.3 Advisory →
- Fix · GHSA-vfpm-58rq-9qcg vite (npm) Fixed in 8.2.4 Advisory →
- Fix · GHSA-vfpm-58rq-9qcg vite-plus (npm) Fixed in 1.1.0 Advisory →
Vendor assessments
Red Hat
Red Hat rating: Moderate. Red Hat's page for this CVE →
| Product | Status | Plan or fix |
|---|---|---|
| Red Hat AMQ Broker 7 | Affected | No fix yet: Fix deferred |
| Red Hat Ansible Automation Platform 2 | Affected | No fix yet: Fix deferred |
| Red Hat Build of Keycloak | Affected | No fix yet: Fix deferred |
| Red Hat Build of Podman Desktop | Affected | No fix yet: Fix deferred |
| Red Hat JBoss Enterprise Application Platform 8 | Affected | No fix yet: Fix deferred |
| Red Hat JBoss Enterprise Application Platform Expansion Pack | Affected | No fix yet: Fix deferred |
| Red Hat OpenShift AI (RHOAI) | Affected | No fix yet: Fix deferred |
| Red Hat OpenShift Dev Spaces | Affected | No fix yet: Fix deferred |
| Red Hat Trusted Artifact Signer | Affected | No fix yet: Fix deferred |
Not affected: 1 product
- Red Hat Hardened Images
Timeline
- 2026-10-20 Threatist record created from CVE-2026-112947
- 2026-10-21 Affected versions changed · Red Hat
- 2026-10-21 CVSS score added · Red Hat
- 2026-10-21 CISA SSVC decision points changed
- 2026-10-21 Priority changed: MEDIUM → LOW
- 2026-10-21 Alias added: GHSA-vfpm-58rq-9qcg
- 2026-10-21 Fix available: npm/[email protected], npm/[email protected], npm/[email protected] · GHSA-vfpm-58rq-9qcg
- 2026-10-21 CVSS score added · GHSA-vfpm-58rq-9qcg
- 2026-10-21 Weakness changed · GHSA-vfpm-58rq-9qcg
- 2026-10-21 6 new references · GHSA-vfpm-58rq-9qcg
References
Other 5
More vitejs vulnerabilities
- TI-2025-22386 Vite has a `server.fs.deny` bypassed for `inline` and `raw` with `?import` query KEVCVSS 3.1HIGH 7.5
- TI-2025-41248 Code injection in vitejs vite-plugin-react CVSS 3.1CRITICAL 9.8
- TI-2026-28350 Vite Affected by Arbitrary File Read via Vite Dev Server WebSocket CVSS 4.0HIGH 8.2
- TI-2025-41735 @vitejs/plugin-rsc has Arbitrary File Read via `/__vite_rsc_findSourceMapURL` Endpoint on Development CVSS 3.1HIGH 7.5
- TI-2025-21544 Vite bypasses server.fs.deny when using `?raw??` CVSS 3.1HIGH 7.5
- TI-2023-16938 Vite Server Options (server.fs.deny) can be bypassed using double forward-slash (//) CVSS 3.1HIGH 7.5
Sources
- CVE-2026-112947 · CVE Program
- CVE-2026-112947 · NVD
- FIRST EPSS
- GHSA-vfpm-58rq-9qcg · GitHub Advisory Database · CC BY 4.0
- CVE-2026-112947 · Red Hat security data · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences