GIVE YOUR AGENT THE EVIDENCE

Set up in your agent.

One prompt to get started. Paste it into your coding agent to connect cve.new through MCP and bring vulnerability context into your workflow.

Your agent needs remote MCP support and access to https://cve.new/mcp.

Read the setup guide

GIVE YOUR AGENT THE EVIDENCE

Investigate in your agent.

Turn this advisory into a focused investigation. Ask your agent to check your project’s versions, explain the evidence, and suggest a compatible fix.

Your agent needs remote MCP support and access to https://cve.new/mcp.

Read the setup guide

All vulnerabilities
GHSA-fx2h-pf6j-xcffmedium6.9

vite: `server.fs.deny` bypass on Windows alternate paths

Check your stack

The advisory, in context

Summary

The contents of files that are specified by server.fs.deny can be returned to the browser on Windows.

Impact

Only apps that match the following conditions are affected:

  • explicitly exposes the Vite dev server to the network (using --host or server.host config option)
  • the sensitive file exists in the allowed directories specified by server.fs.allow
  • either of:
    • the sensitive file exists in an NTFS volume
    • the dev server is running on Windows and the sensitive file exists in a volume that 8.3 short name generation is enabled (it is enabled by default on system volumes)

Details

Vite’s dev server denies direct access to sensitive files through server.fs.deny, including entries such as .env, .env.*, and *.{crt,pem}. However, on Windows, the deny logic does not correctly normalize NTFS ADS path forms before access checks are applied. Because of this, requests such as /.env::$DATA?raw are treated as allowed paths, while Windows resolves them to the original file's default data stream.

Similar to that, Windows allows accessing a file using a different name with the 8.3 short name compatibility feature. Vite did not reject accessing files via them.

PoC

$ npm create vite@latest
$ cd vite-project/
$ npm install
$ npm run dev

Access via browser at http://localhost:5173/.env::$DATA?raw <img width="388" height="129" alt="deecc1315123883cfd0f9c26a002845a" src="https://github.com/user-attachments/assets/895c6012-4e2e-4a35-babb-69bbf3ee7170" />

Example expected result:

  • /.env::$DATA?raw returns the contents of .env
  • /tls.pem::$DATA?raw returns the contents of tls.pem

Affected packages

Start with the recorded fix for your release branch. Check your installed version and test compatibility before upgrading. Fixing this advisory does not rule out other vulnerabilities in the release.

Semantic versions

From 8.0.0 before 8.0.16

Fixed in 8.0.16

View affected-version evidence
{
  "ranges": [
    {
      "events": [
        {
          "introduced": "8.0.0"
        },
        {
          "fixed": "8.0.16"
        }
      ],
      "type": "SEMVER"
    }
  ],
  "versions": []
}
Semantic versions

From 7.0.0 before 7.3.5

Fixed in 7.3.5

View affected-version evidence
{
  "ranges": [
    {
      "events": [
        {
          "introduced": "7.0.0"
        },
        {
          "fixed": "7.3.5"
        }
      ],
      "type": "SEMVER"
    }
  ],
  "versions": []
}
Semantic versions

Earlier releases before 6.4.3

Fixed in 6.4.3

View affected-version evidence
{
  "ranges": [
    {
      "events": [
        {
          "introduced": "0"
        },
        {
          "fixed": "6.4.3"
        }
      ],
      "type": "SEMVER"
    }
  ],
  "versions": []
}
Semantic versions

Earlier releases before 0.1.24

Fixed in 0.1.24

View affected-version evidence
{
  "ranges": [
    {
      "events": [
        {
          "introduced": "0"
        },
        {
          "fixed": "0.1.24"
        }
      ],
      "type": "SEMVER"
    }
  ],
  "versions": []
}

References