{"schemaVersion":3,"id":"CVE-2026-112945","aliases":[],"status":"published","duplicateOf":null,"title":null,"description":"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.","dates":{"published":"2026-10-20T15:00:58.170Z","modified":"2026-10-20T15:00:58.170Z","reserved":null,"kevAdded":[],"kevDue":[]},"cvss":{"headline":{"score":2.1,"severity":"low","version":"4.0","versionLabel":"v4.0","source":"CVE.org","vector":"CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:A/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N","computed":false,"selection":"backend-summary"},"metrics":[{"version":"4.0","versionLabel":"v4.0","source":"CVE.org","score":2.1,"severity":"low","vector":"CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:A/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N","exploitability":null,"impact":null,"computed":false},{"version":"4.0","versionLabel":"v4.0","source":"NVD","score":2.1,"severity":"low","vector":"CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:A/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X","exploitability":null,"impact":null,"computed":false}]},"epss":{"probability":null,"percentile":null,"severity":"unknown","asOf":null,"change":{"pp":null,"baselineDate":null,"baselineScore":null},"history":[],"last30":[]},"kev":{"state":"not-listed","entries":[],"listedCount":0,"totalCatalogs":3,"catalogs":[{"source":"cisa","label":"CISA","listed":false,"entry":null},{"source":"enisa","label":"ENISA","listed":false,"entry":null},{"source":"circl","label":"CIRCL","listed":false,"entry":null}]},"ransomware":{"state":"none-recorded","sources":[]},"exploits":[],"exploitCount":0,"weaknesses":[{"id":"CWE-80","name":"Improper Neutralization of Script-Related HTML Tags in a Web Page (Basic XSS)","description":"The product receives input from an upstream component, but it does not neutralize or incorrectly neutralizes special characters such as \"<\", \">\", and \"&\" that could be interpreted as web-scripting elements when they are sent to a downstream component that processes web pages.","type":"weakness","status":"Incomplete","abstraction":"Variant","likelihoodOfExploit":"High","url":"https://cwe.mitre.org/data/definitions/80.html"}],"affected":[{"vendor":"vitejs","product":"vite","name":"vite","label":"vite","ecosystem":null,"cpePart":"a","purl":null,"purlType":null,"versions":[{"text":"≥ 8.3.0, < 8.3.3","noFixRecorded":false,"fixedIn":null},{"text":"≥ 8.2.0, < 8.2.4","noFixRecorded":false,"fixedIn":null},{"text":"≥ 8.0.0, < 8.1.6","noFixRecorded":false,"fixedIn":null},{"text":"≥ 7.0.0, < 7.3.7","noFixRecorded":false,"fixedIn":null},{"text":"< 6.4.4","noFixRecorded":false,"fixedIn":null}],"versionsText":"≥ 8.3.0, < 8.3.3 | ≥ 8.2.0, < 8.2.4 | ≥ 8.0.0, < 8.1.6 | ≥ 7.0.0, < 7.3.7 | < 6.4.4","eol":null,"hubHref":"/vendor/vitejs/vite"},{"vendor":"vitejs","product":"vite-plus","name":"vite-plus","label":"vite-plus","ecosystem":null,"cpePart":"a","purl":null,"purlType":null,"versions":[{"text":"< 1.1.0","noFixRecorded":false,"fixedIn":null}],"versionsText":"< 1.1.0","eol":null,"hubHref":"/vendor/vitejs/vite-plus"}],"affectedCount":2,"eol":{"hasEol":false,"count":0},"references":[{"url":"https://github.com/vitejs/vite/security/advisories/GHSA-9jrq-w75r-8gcw","label":"github.com/vitejs/vite/security/advisories/GHSA-9jrq-w75r-8gcw","hostname":"github.com","tags":["X Refsource CONFIRM"]},{"url":"https://github.com/vitejs/vite/pull/23653","label":"github.com/vitejs/vite/pull/23653","hostname":"github.com","tags":["X Refsource MISC"]},{"url":"https://github.com/vitejs/vite/commit/7dafd8e56f152403a3230608fa4005273c2e9e17","label":"github.com/vitejs/vite/commit/7dafd8e56f152403a3230608fa4005273c2e9e17","hostname":"github.com","tags":["X Refsource MISC"]}],"lineage":{"upstream":[],"downstream":[],"duplicates":[],"related":[]},"timeline":[{"kind":"published","date":"2026-10-20T15:00:58.170Z","label":"Published","detail":"Vulnerability first disclosed.","source":null}],"risk":{"score":8,"level":"minimal","profile":"Default","thresholds":{"critical":75,"high":50,"medium":25,"low":10}},"meta":{"dataAsOf":"2026-10-21T07:54:06.598Z","stale":false,"partial":false}}