Read the docs

Cross-origin script execution in Vite custom middleware

Priority MEDIUM 44CWE-80Published · Updated

Key facts

Attack vector
Network
Privileges required
None
User interaction
Active
Attack complexity
Low
Attack requirements
Present
Impact type
Cross-site scripting
Confidentiality · integrity · availability
Low · Low · 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-80.

Summary

Vite before 6.4.4, from 7.0.0 before 7.3.7, from 8.0.0 before 8.1.6, from 8.2.0 before 8.2.4, and from 8.3.0 before 8.3.3, and vite-plus before 1.1.0, are affected. Custom middleware that passes an unchanged request URL to server.transformIndexHtml lets crafted leading slashes make the browser load an attacker-controlled module (CWE-80). A victim who loads a crafted development-server page can have attacker script run in the page.

Written with Claude Haiku 5.5 from the sources below · 2026-10-29

Description from the CNA

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, applications using custom middleware are vulnerable when they pass an unchanged browser request URL to server.transformIndexHtml. getHtmlFilename uses the query-bearing request URL to resolve an existing local file while preserving attacker-supplied leading slashes in the generated proxy module URL. If the transformed HTML contains an inline module script and a victim browser loads the crafted development-server page, the leading double slash makes the browser fetch and execute an attacker-controlled module in the Vite-served page. This execution can expose sensitive page data or permit critical actions available to the affected application. This issue is fixed in versions 6.4.4, 7.3.7, 8.1.6, 8.2.4, and 8.3.3.

Why it matters now

Exploitation Proof of concept CISA SSVC · not in CISA KEV
EPSS 0.00672 52nd percentileScored 2026-11-07
Fix Partial vite (vitejs): 8.3.3, 8.2.4, 8.1.6 +2vite-plus (vitejs): 1.1.0+2 more productsRed Hat: 9 without a fix

SSVC decision points

CISA ADP · SSVC 2.0.3

Exploitation
Poc
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

VendorProductAffected versionsFixed inStatusSource
vitejsvite8.3.0 to before 8.3.3; 8.2.0 to before 8.2.4; 8.0.0 to before 8.1.6; 7.0.0 to before 7.3.7; before 6.4.48.3.3, 8.2.4, 8.1.6, 7.3.7, 6.4.4Patch availableCNA
vitejsvite-plusbefore 1.1.01.1.0Patch availableCNA
—vite (npm)8.3.0 to before 8.3.38.3.3Patch availableGHSA-9jrq-w75r-8gcw
—vite (npm)8.2.0 to before 8.2.48.2.4Patch availableGHSA-9jrq-w75r-8gcw
—vite (npm)8.0.0 to before 8.1.68.1.6Patch availableGHSA-9jrq-w75r-8gcw
—vite (npm)7.0.0 to before 7.3.77.3.7Patch availableGHSA-9jrq-w75r-8gcw
—vite (npm)before 6.4.46.4.4Patch availableGHSA-9jrq-w75r-8gcw
—vite-plus (npm)before 1.1.01.1.0Patch availableGHSA-9jrq-w75r-8gcw
  • vite Vendorvitejs Affected 8.3.0 to before 8.3.3; 8.2.0 to before 8.2.4; 8.0.0 to before 8.1.6; 7.0.0 to before 7.3.7; before 6.4.4 Fixed in 8.3.3, 8.2.4, 8.1.6, 7.3.7, 6.4.4 Patch available CNA
  • vite-plus Vendorvitejs Affected 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-9jrq-w75r-8gcw
  • vite (npm) Vendor— Affected 8.2.0 to before 8.2.4 Fixed in 8.2.4 Patch available GHSA-9jrq-w75r-8gcw
  • vite (npm) Vendor— Affected 8.0.0 to before 8.1.6 Fixed in 8.1.6 Patch available GHSA-9jrq-w75r-8gcw
  • vite (npm) Vendor— Affected 7.0.0 to before 7.3.7 Fixed in 7.3.7 Patch available GHSA-9jrq-w75r-8gcw
  • vite (npm) Vendor— Affected before 6.4.4 Fixed in 6.4.4 Patch available GHSA-9jrq-w75r-8gcw
  • vite-plus (npm) Vendor— Affected before 1.1.0 Fixed in 1.1.0 Patch available GHSA-9jrq-w75r-8gcw

CPE names Threatist (inferred) · 1

Inferred from how NVD named this product before; not given by a source.

CPEVersionsRoleVendor
cpe:2.3:a:vitejs:vite:*:*:*:*:*:*:*:*——vitejs
  • cpe:2.3:a:vitejs:vite:*:*:*:*:*:*:*:* Versions — — ·vitejs

Remediation

Vite is fixed in 6.4.4, 7.3.7, 8.1.6, 8.2.4, and 8.3.3, and vite-plus is fixed in 1.1.0. Red Hat lists no available fix 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, Red Hat JBoss Enterprise Application Platform Expansion Pack, Red Hat OpenShift AI (RHOAI), Red Hat OpenShift Dev Spaces, and Red Hat Trusted Artifact Signer.

Written with Claude Haiku 5.5 from the sources below · 2026-10-29

  • Fix · CNA vite (vitejs) Fixed in 8.3.3, 8.2.4, 8.1.6, 7.3.7, 6.4.4
  • Fix · CNA vite-plus (vitejs) Fixed in 1.1.0
  • Fix · GHSA-9jrq-w75r-8gcw vite (npm) Fixed in 8.3.3 Advisory →
  • Fix · GHSA-9jrq-w75r-8gcw vite (npm) Fixed in 8.2.4 Advisory →
  • Fix · GHSA-9jrq-w75r-8gcw vite (npm) Fixed in 8.1.6 Advisory →
  • Fix · GHSA-9jrq-w75r-8gcw vite (npm) Fixed in 7.3.7 Advisory →
  • Fix · GHSA-9jrq-w75r-8gcw vite (npm) Fixed in 6.4.4 Advisory →
  • Fix · GHSA-9jrq-w75r-8gcw vite-plus (npm) Fixed in 1.1.0 Advisory →

Vendor assessments

Red Hat

Red Hat rating: Moderate. Red Hat's page for this CVE →

ProductStatusPlan or fix
Red Hat AMQ Broker 7AffectedNo fix yet: Fix deferred
Red Hat Ansible Automation Platform 2AffectedNo fix yet: Fix deferred
Red Hat Build of KeycloakAffectedNo fix yet: Fix deferred
Red Hat Build of Podman DesktopAffectedNo fix yet: Fix deferred
Red Hat JBoss Enterprise Application Platform 8AffectedNo fix yet: Fix deferred
Red Hat JBoss Enterprise Application Platform Expansion PackAffectedNo fix yet: Fix deferred
Red Hat OpenShift AI (RHOAI)AffectedNo fix yet: Fix deferred
Red Hat OpenShift Dev SpacesAffectedNo fix yet: Fix deferred
Red Hat Trusted Artifact SignerAffectedNo fix yet: Fix deferred
Not affected: 1 product
  • Red Hat Hardened Images

Timeline

  1. 2026-10-20 Threatist record created from CVE-2026-112945
  2. 2026-10-21 Affected versions changed · Red Hat
  3. 2026-10-21 CVSS score added · Red Hat
  4. 2026-10-21 Alias added: GHSA-9jrq-w75r-8gcw
  5. 2026-10-21 Fix available: npm/[email protected], npm/[email protected], npm/[email protected] +3 · GHSA-9jrq-w75r-8gcw
  6. 2026-10-21 CVSS score added · GHSA-9jrq-w75r-8gcw
  7. 2026-10-21 Weakness changed · GHSA-9jrq-w75r-8gcw
  8. 2026-10-21 5 new references · GHSA-9jrq-w75r-8gcw
  9. 2026-10-28 CISA SSVC decision points changed
  10. 2026-10-28 Priority changed: LOW → MEDIUM
  11. 2026-10-29 EPSS moved to the 50th–90th percentile

References

  • 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
See all 31 →

Sources