Vite: Cross origin script execution through Vite custom middleware
- Published
- Last modified
- Where the record stands: published, rejected by its publisher, or superseded by another id.What do these mean? →
- published
- Whether CISA lists it in its Known Exploited Vulnerabilities catalog: proof that attackers are using it.What do these mean? →
- Not listed in CISA KEV
- Fix
- Fixed in 8.3.3, 8.2.4, 8.1.6, 7.3.7, 6.4.4, and 1 more
- Whether working attack code is public (Exploit-DB, Metasploit, Nuclei or GitHub). Public code makes attacks easier.What do these mean? →
- None on Exploit-DB, Metasploit or GitHub
- Exploitation: poc
- Automatable: no
- Technical impact: partial
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, 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.
Timeline
- CVE published
- First seen by cve.now
- CISA SSVC assessment
Exploitation: poc · Automatable: no · Technical impact: partial
- Record last updated
Affected versions
- vitejs vite
From 8.3.0 · fixed in 8.3.3; From 8.2.0 · fixed in 8.2.4; From 8.0.0 · fixed in 8.1.6; From 7.0.0 · fixed in 7.3.7; fixed in 6.4.4
- vitejs vite-plus
fixed in 1.1.0
- vitenpm
From 8.3.0 · fixed in 8.3.3
- vitenpm
From 8.2.0 · fixed in 8.2.4
- vitenpm
From 8.0.0 · fixed in 8.1.6
- vitenpm
From 7.0.0 · fixed in 7.3.7
- vitenpm
fixed in 6.4.4
- vite-plusnpm
fixed in 1.1.0