Cross-site Scripting in `server.transformIndexHtml` via URL payload in vite
CVE-2023-49293
Summary
Vite is a website frontend framework. When Vite's HTML transformation is invoked manually via server.transformIndexHtml
, the original request URL is passed in unmodified, and the html
being transformed contains inline module scripts (<script type="module">...</script>
), it is possible to inject arbitrary HTML into the transformed output by supplying a malicious URL query string to server.transformIndexHtml
. Only apps using appType: 'custom'
and using the default Vite HTML middleware are affected. The HTML entry must also contain an inline script. The attack requires a user to click on a malicious URL while running the dev server. Restricted files aren't exposed to the attacker. This issue has been addressed in [email protected], [email protected], and [email protected]. There are no known workarounds for this vulnerability.
Affected Version(s)
vite >=4.4.0, < 4.4.12 < 4.4.0, 4.4.12
vite = 4.5.0 = 4.5.0
vite >=5.0.0, < 5.0.5 < 5.0.0, 5.0.5
References
CVSS V3.1
Timeline
Vulnerability published
Vulnerability Reserved