Public mode

No access to your tenant or devices. Every item links to its source. What this means

Sources need attention Customize Public modeDiscuss ChangeIntel on Discord

Vite has a `server.fs.deny` bypassed for `inline` and `raw` with `?import` query

CVSS 3.1 5.3 MEDIUMEUVD CVSS 3.1 5.3 CVSS 3.1 · [email protected] · Secondary 5.3 MEDIUMCVSS 3.1 · [email protected] · Primary 7.5 HIGHCVSS_V3 Publisher rating MODERATEFixed by vite 6.2.4Fixed by vite 6.1.3Fixed by vite 6.0.13Fixed by vite 5.4.16CISA KEV

cve-program · CVE-2025-31125

Published

Vite is a frontend tooling framework for javascript. Vite exposes content of non-allowed files using ?inline&import or ?raw?import. Only apps explicitly exposing the Vite dev server to the network (using --host or server.host config option) are affected. This vulnerability is fixed in 6.2.4, 6.1.3, 6.0.13, 5.4.16, and 4.5.11.

Read the publisher's advisory

euvd · EUVD-2025-8866

Published

Vite is a frontend tooling framework for javascript. Vite exposes content of non-allowed files using ?inline&import or ?raw?import. Only apps explicitly exposing the Vite dev server to the network (using --host or server.host config option) are affected. This vulnerability is fixed in 6.2.4, 6.1.3, 6.0.13, 5.4.16, and 4.5.11.

Read the publisher's advisory

nvd · CVE-2025-31125

Published

Vite is a frontend tooling framework for javascript. Vite exposes content of non-allowed files using ?inline&import or ?raw?import. Only apps explicitly exposing the Vite dev server to the network (using --host or server.host config option) are affected. This vulnerability is fixed in 6.2.4, 6.1.3, 6.0.13, 5.4.16, and 4.5.11.

Read the publisher's advisory

osv · GHSA-4r4m-qw57-chr8

Published

### Summary The contents of arbitrary files can be returned to the browser. ### Impact Only apps explicitly exposing the Vite dev server to the network (using `--host` or [`server.host` config option](https://vitejs.dev/config/server-options.html#server-host)) are affected. ### Details - base64 encoded content of non-allowed files is exposed using `?inline&import` (originally reported as `?import&?inline=1.wasm?init`) - content of non-allowed files is exposed using `?raw?import` `/@fs/` isn't needed to reproduce the issue for files inside the project root. ### PoC Original report (check details above for simplified cases): The ?import&?inline=1.wasm?init ending allows attackers to read arbitrary files and returns the file content if it exists. Base64 decoding needs to be performed twice ``` $ npm create vite@latest $ cd vite-project/ $ npm install $ npm run dev ``` Example full URL `http://localhost:5173/@fs/C:/windows/win.ini?import&?inline=1.wasm?init`

Read the publisher's advisory

Affected versions, risk and source history

cve-program · CVE-2025-31125

Published

vite

Vendor product

Publisher's version information

Shown as published. These rules are not interpreted as NuGet package version ranges.

{
                    "vendor": "vitejs",
                    "product": "vite",
                    "versions": [
                        {
                            "version": ">= 6.2.0, < 6.2.4",
                            "status": "affected"
                        },
                        {
                            "version": ">= 6.1.0, < 6.1.3",
                            "status": "affected"
                        },
                        {
                            "version": ">= 6.0.0, < 6.0.13",
                            "status": "affected"
                        },
                        {
                            "version": ">= 5.0.0, < 5.4.16",
                            "status": "affected"
                        },
                        {
                            "version": "< 4.5.11",
                            "status": "affected"
                        }
                    ]
                }

Original source record · Cite this exact observation · Complete original publisher JSON

euvd · EUVD-2025-8866

Published

EUVD source date text has no stated timezone and is retained without inventing a UTC instant. Related bulletin membership is not an alias, common cause or applicability claim. A missing vector with a zero score is treated as unrated. Complete vendor/product and underlying source evidence remains in the original JSON.

Original publisher date fields

datePublished: Mar 31, 2025, 5:06:30 PM

dateUpdated: Jan 23, 2026, 4:58:37 PM

No normalized affected-package data is projected for this source revision. The original publisher record may contain additional product and version evidence; this does not establish that a package is unaffected.

Original source record · Cite this exact observation · Complete original publisher JSON

nvd · CVE-2025-31125

Published

NVD analysis and CPE criteria are source context, not proof that a package or your environment is affected. Complete affected data, logical configurations and SSVC are retained in the original JSON.

Source analysis status: Analyzed

Weakness classifications: CWE-200 · CWE-284 · NVD-CWE-noinfo

Original publisher date fields

published: 2025-03-31T17:15:43.163

lastModified: 2026-06-17T09:09:54.040

1 source CPE criteria · context only
  • cpe:2.3:a:vitejs:vite:*:*:*:*:*:node.js:*:*

The original JSON retains the logical configuration operators, exclusions and version bounds.

No normalized affected-package data is projected for this source revision. The original publisher record may contain additional product and version evidence; this does not establish that a package is unaffected.

Original source record · Cite this exact observation · Complete original publisher JSON

osv · GHSA-4r4m-qw57-chr8

Published

vite

npm

SEMVER · introduced 6.2.0 → fixed 6.2.4

vite

npm

SEMVER · introduced 6.1.0 → fixed 6.1.3

vite

npm

SEMVER · introduced 6.0.0 → fixed 6.0.13

vite

npm

SEMVER · introduced 5.0.0 → fixed 5.4.16

vite

npm

SEMVER · introduced 0 → fixed 4.5.11

Original source record · Cite this exact observation · Complete original publisher JSON

ChangeIntel

An IT change radar: releases, security, known issues, retirements, documentation changes, and service status from public sources. Every item links to supporting evidence; dates and statuses can change after they are read.

Sources read 15 Nov 12:11 UTC · 256 of 275 readable · 252 fully read · documentation 469/469 current