<?xml version='1.0' encoding='UTF-8'?>
<?xml-stylesheet href="/static/style.xsl" type="text/xsl"?>
<rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/" version="2.0">
  <channel>
    <title>Most recent entries from all</title>
    <link>https://vulnerability.circl.lu</link>
    <description>Contains only the most 10 recent entries.</description>
    <docs>http://www.rssboard.org/rss-specification</docs>
    <generator>python-feedgen</generator>
    <language>en</language>
    <lastBuildDate>Sun, 04 Oct 2026 10:28:35 +0000</lastBuildDate>
    <item>
      <title>CVE-2023-49293 — Cross-site Scripting in `server.transformIndexHtml` via URL payload in vite</title>
      <link>https://vulnerability.circl.lu/vuln/cve-2023-49293</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; vitejs vite&lt;/p&gt;
&lt;p&gt;Vite is a website frontend framework. When Vite&amp;#39;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 (`&amp;lt;script type=&amp;#34;module&amp;#34;&amp;gt;...&amp;lt;/script&amp;gt;`), 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: &amp;#39;custom&amp;#39;` 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&amp;#39;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.&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; vitejs vite&lt;/p&gt;
&lt;p&gt;Vite is a website frontend framework. When Vite&amp;#39;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 (`&amp;lt;script type=&amp;#34;module&amp;#34;&amp;gt;...&amp;lt;/script&amp;gt;`), 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: &amp;#39;custom&amp;#39;` 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&amp;#39;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.&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://vulnerability.circl.lu/vuln/cve-2023-49293</guid>
    </item>
    <item>
      <title>GHSA-92r3-m2mg-pj97 — Vite XSS vulnerability in `server.transformIndexHtml` via URL payload</title>
      <link>https://vulnerability.circl.lu/vuln/ghsa-92r3-m2mg-pj97</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; npm: vite&lt;/p&gt;
&lt;p&gt;### Summary
When Vite&amp;#39;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 (`&amp;lt;script type=&amp;#34;module&amp;#34;&amp;gt;...&amp;lt;/script&amp;gt;`), it is possible to inject arbitrary HTML into the transformed output by supplying a malicious URL query string to `server.transformIndexHtml`.&lt;/p&gt;
&lt;p&gt;### Impact
Only apps using `appType: &amp;#39;custom&amp;#39;` 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&amp;#39;t exposed to the attacker.&lt;/p&gt;
&lt;p&gt;### Patches
Fixed in vite@5.0.5, vite@4.5.1, vite@4.4.12&lt;/p&gt;
&lt;p&gt;### Details
Suppose `index.html` contains an inline module script:&lt;/p&gt;
&lt;p&gt;```html
&amp;lt;script type=&amp;#34;module&amp;#34;&amp;gt;
  // Inline script
&amp;lt;/script&amp;gt;
```&lt;/p&gt;
&lt;p&gt;This script is transformed into a proxy script like&lt;/p&gt;
&lt;p&gt;```html
&amp;lt;script type=&amp;#34;module&amp;#34; src=&amp;#34;/index.html?html-proxy&amp;amp;index=0.js&amp;#34;&amp;gt;&amp;lt;/script&amp;gt;
```&lt;/p&gt;
&lt;p&gt;due to Vite&amp;#39;s HTML plugin:&lt;/p&gt;
&lt;p&gt;https://github.com/vitejs/vite/blob/7fd7c6cebfcad34ae7021ebee28f97b1f28ef3f3/packages/vite/src/node/plugins/html.ts#L429-L465&lt;/p&gt;
&lt;p&gt;When `appType: &amp;#39;spa&amp;#39; | &amp;#39;mpa&amp;#39;`, Vite serves HTML itself, and `htmlFallbackMiddleware` rewrites `req.url` to the canonical path of `index.html`,&lt;/p&gt;
&lt;p&gt;https://github.com/vitejs/vite/blob/73ef074b80fa7252e0c46a37a2c94ba8cba46504/packages/vite/src/node/server/middlewares/htmlFallback.ts#L44-L47&lt;/p&gt;
&lt;p&gt;so the `url` passed to `server.transformInd…&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; npm: vite&lt;/p&gt;
&lt;p&gt;### Summary
When Vite&amp;#39;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 (`&amp;lt;script type=&amp;#34;module&amp;#34;&amp;gt;...&amp;lt;/script&amp;gt;`), it is possible to inject arbitrary HTML into the transformed output by supplying a malicious URL query string to `server.transformIndexHtml`.&lt;/p&gt;
&lt;p&gt;### Impact
Only apps using `appType: &amp;#39;custom&amp;#39;` 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&amp;#39;t exposed to the attacker.&lt;/p&gt;
&lt;p&gt;### Patches
Fixed in vite@5.0.5, vite@4.5.1, vite@4.4.12&lt;/p&gt;
&lt;p&gt;### Details
Suppose `index.html` contains an inline module script:&lt;/p&gt;
&lt;p&gt;```html
&amp;lt;script type=&amp;#34;module&amp;#34;&amp;gt;
  // Inline script
&amp;lt;/script&amp;gt;
```&lt;/p&gt;
&lt;p&gt;This script is transformed into a proxy script like&lt;/p&gt;
&lt;p&gt;```html
&amp;lt;script type=&amp;#34;module&amp;#34; src=&amp;#34;/index.html?html-proxy&amp;amp;index=0.js&amp;#34;&amp;gt;&amp;lt;/script&amp;gt;
```&lt;/p&gt;
&lt;p&gt;due to Vite&amp;#39;s HTML plugin:&lt;/p&gt;
&lt;p&gt;https://github.com/vitejs/vite/blob/7fd7c6cebfcad34ae7021ebee28f97b1f28ef3f3/packages/vite/src/node/plugins/html.ts#L429-L465&lt;/p&gt;
&lt;p&gt;When `appType: &amp;#39;spa&amp;#39; | &amp;#39;mpa&amp;#39;`, Vite serves HTML itself, and `htmlFallbackMiddleware` rewrites `req.url` to the canonical path of `index.html`,&lt;/p&gt;
&lt;p&gt;https://github.com/vitejs/vite/blob/73ef074b80fa7252e0c46a37a2c94ba8cba46504/packages/vite/src/node/server/middlewares/htmlFallback.ts#L44-L47&lt;/p&gt;
&lt;p&gt;so the `url` passed to `server.transformInd…&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://vulnerability.circl.lu/vuln/ghsa-92r3-m2mg-pj97</guid>
    </item>
  </channel>
</rss>
