// For flags

CVE-2023-49293

Cross-site Scripting in `server.transformIndexHtml` via URL payload in vite

Severity Score

6.1
*CVSS v3.1

Exploit Likelihood

*EPSS

Affected Versions

*CPE

Public Exploits

1
*Multiple Sources

Exploited in Wild

-
*KEV

Decision

-
*SSVC
Descriptions

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 vite@5.0.5, vite@4.5.1, and vite@4.4.12. There are no known workarounds for this vulnerability.

Vite es un framework de interfaz de sitio web. Cuando la transformación HTML de Vite se invoca manualmente a través de `server.transformIndexHtml`, la URL de solicitud original se pasa sin modificar y el `html` que se transforma contiene scripts de módulo en línea (``), es posible inyectar HTML arbitrario en la salida transformada proporcionando una cadena de consulta URL maliciosa a `server.transformIndexHtml`. Solo se ven afectadas las aplicaciones que usan `appType: 'custom'` y usan el middleware HTML predeterminado de Vite. La entrada HTML también debe contener un script en línea. El ataque requiere que un usuario haga clic en una URL maliciosa mientras ejecuta el servidor de desarrollo. Los archivos restringidos no están expuestos al atacante. Este problema se ha solucionado en vite@5.0.5, vite@4.5.1 y vite@4.4.12. No se conocen workarounds para esta vulnerabilidad.

*Credits: N/A
CVSS Scores
Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
Required
Scope
Changed
Confidentiality
Low
Integrity
Low
Availability
None
* Common Vulnerability Scoring System
SSVC
  • Decision:-
Exploitation
-
Automatable
-
Tech. Impact
-
* Organization's Worst-case Scenario
Timeline
  • 2023-11-24 CVE Reserved
  • 2023-12-04 CVE Published
  • 2023-12-09 EPSS Updated
  • 2024-08-02 CVE Updated
  • 2024-08-02 First Exploit
  • ---------- Exploited in Wild
  • ---------- KEV Due Date
CWE
  • CWE-79: Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')
CAPEC
Affected Vendors, Products, and Versions
Vendor Product Version Other Status
Vendor Product Version Other Status <-- --> Vendor Product Version Other Status
Vitejs
Search vendor "Vitejs"
Vite
Search vendor "Vitejs" for product "Vite"
>= 4.4.0 <= 4.4.11
Search vendor "Vitejs" for product "Vite" and version " >= 4.4.0 <= 4.4.11"
node.js
Affected
Vitejs
Search vendor "Vitejs"
Vite
Search vendor "Vitejs" for product "Vite"
>= 5.0.0 <= 5.0.4
Search vendor "Vitejs" for product "Vite" and version " >= 5.0.0 <= 5.0.4"
node.js
Affected
Vitejs
Search vendor "Vitejs"
Vite
Search vendor "Vitejs" for product "Vite"
5.0.0
Search vendor "Vitejs" for product "Vite" and version "5.0.0"
node.js
Affected
Vitejs
Search vendor "Vitejs"
Vite
Search vendor "Vitejs" for product "Vite"
5.0.0
Search vendor "Vitejs" for product "Vite" and version "5.0.0"
beta0, node.js
Affected
Vitejs
Search vendor "Vitejs"
Vite
Search vendor "Vitejs" for product "Vite"
5.0.0
Search vendor "Vitejs" for product "Vite" and version "5.0.0"
beta1, node.js
Affected
Vitejs
Search vendor "Vitejs"
Vite
Search vendor "Vitejs" for product "Vite"
5.0.0
Search vendor "Vitejs" for product "Vite" and version "5.0.0"
beta10, node.js
Affected
Vitejs
Search vendor "Vitejs"
Vite
Search vendor "Vitejs" for product "Vite"
5.0.0
Search vendor "Vitejs" for product "Vite" and version "5.0.0"
beta11, node.js
Affected
Vitejs
Search vendor "Vitejs"
Vite
Search vendor "Vitejs" for product "Vite"
5.0.0
Search vendor "Vitejs" for product "Vite" and version "5.0.0"
beta12, node.js
Affected
Vitejs
Search vendor "Vitejs"
Vite
Search vendor "Vitejs" for product "Vite"
5.0.0
Search vendor "Vitejs" for product "Vite" and version "5.0.0"
beta13, node.js
Affected
Vitejs
Search vendor "Vitejs"
Vite
Search vendor "Vitejs" for product "Vite"
5.0.0
Search vendor "Vitejs" for product "Vite" and version "5.0.0"
beta14, node.js
Affected
Vitejs
Search vendor "Vitejs"
Vite
Search vendor "Vitejs" for product "Vite"
5.0.0
Search vendor "Vitejs" for product "Vite" and version "5.0.0"
beta15, node.js
Affected
Vitejs
Search vendor "Vitejs"
Vite
Search vendor "Vitejs" for product "Vite"
5.0.0
Search vendor "Vitejs" for product "Vite" and version "5.0.0"
beta16, node.js
Affected
Vitejs
Search vendor "Vitejs"
Vite
Search vendor "Vitejs" for product "Vite"
5.0.0
Search vendor "Vitejs" for product "Vite" and version "5.0.0"
beta17, node.js
Affected
Vitejs
Search vendor "Vitejs"
Vite
Search vendor "Vitejs" for product "Vite"
5.0.0
Search vendor "Vitejs" for product "Vite" and version "5.0.0"
beta18, node.js
Affected
Vitejs
Search vendor "Vitejs"
Vite
Search vendor "Vitejs" for product "Vite"
5.0.0
Search vendor "Vitejs" for product "Vite" and version "5.0.0"
beta19, node.js
Affected
Vitejs
Search vendor "Vitejs"
Vite
Search vendor "Vitejs" for product "Vite"
5.0.0
Search vendor "Vitejs" for product "Vite" and version "5.0.0"
beta2, node.js
Affected
Vitejs
Search vendor "Vitejs"
Vite
Search vendor "Vitejs" for product "Vite"
5.0.0
Search vendor "Vitejs" for product "Vite" and version "5.0.0"
beta20, node.js
Affected
Vitejs
Search vendor "Vitejs"
Vite
Search vendor "Vitejs" for product "Vite"
5.0.0
Search vendor "Vitejs" for product "Vite" and version "5.0.0"
beta3, node.js
Affected
Vitejs
Search vendor "Vitejs"
Vite
Search vendor "Vitejs" for product "Vite"
5.0.0
Search vendor "Vitejs" for product "Vite" and version "5.0.0"
beta4, node.js
Affected
Vitejs
Search vendor "Vitejs"
Vite
Search vendor "Vitejs" for product "Vite"
5.0.0
Search vendor "Vitejs" for product "Vite" and version "5.0.0"
beta5, node.js
Affected
Vitejs
Search vendor "Vitejs"
Vite
Search vendor "Vitejs" for product "Vite"
5.0.0
Search vendor "Vitejs" for product "Vite" and version "5.0.0"
beta6, node.js
Affected
Vitejs
Search vendor "Vitejs"
Vite
Search vendor "Vitejs" for product "Vite"
5.0.0
Search vendor "Vitejs" for product "Vite" and version "5.0.0"
beta7, node.js
Affected
Vitejs
Search vendor "Vitejs"
Vite
Search vendor "Vitejs" for product "Vite"
5.0.0
Search vendor "Vitejs" for product "Vite" and version "5.0.0"
beta8, node.js
Affected
Vitejs
Search vendor "Vitejs"
Vite
Search vendor "Vitejs" for product "Vite"
5.0.0
Search vendor "Vitejs" for product "Vite" and version "5.0.0"
beta9, node.js
Affected