Skip to content

Commit eada033

Browse files
1 parent b6bbc79 commit eada033

File tree

1 file changed

+196
-0
lines changed

1 file changed

+196
-0
lines changed
Lines changed: 196 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,196 @@
1+
{
2+
"schema_version": "1.4.0",
3+
"id": "GHSA-93m4-6634-74q7",
4+
"modified": "2025-10-20T19:54:28Z",
5+
"published": "2025-10-20T19:54:28Z",
6+
"aliases": [
7+
"CVE-2025-62522"
8+
],
9+
"summary": "vite allows server.fs.deny bypass via backslash on Windows",
10+
"details": "### Summary\nFiles denied by [`server.fs.deny`](https://vitejs.dev/config/server-options.html#server-fs-deny) were sent if the URL ended with `\\` when the dev server is running on Windows.\n\n### Impact\nOnly apps that match the following conditions are affected:\n\n- explicitly exposes the Vite dev server to the network (using --host or [`server.host` config option](https://vitejs.dev/config/server-options.html#server-host))\n- running the dev server on Windows\n\n### Details\n`server.fs.deny` can contain patterns matching against files (by default it includes `.env`, `.env.*`, `*.{crt,pem}` as such patterns). These patterns were able to bypass by using a back slash(`\\`). The root cause is that `fs.readFile('/foo.png/')` loads `/foo.png`.\n\n### PoC\n```shell\nnpm create vite@latest\ncd vite-project/\ncat \"secret\" > .env\nnpm install\nnpm run dev\ncurl --request-target /.env\\ http://localhost:5173\n```\n<img width=\"1593\" height=\"616\" alt=\"image\" src=\"https://github.com/user-attachments/assets/36212f4e-1d3c-4686-b16f-16b35ca9e175\" />",
11+
"severity": [
12+
{
13+
"type": "CVSS_V4",
14+
"score": "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"
15+
}
16+
],
17+
"affected": [
18+
{
19+
"package": {
20+
"ecosystem": "npm",
21+
"name": "vite"
22+
},
23+
"ranges": [
24+
{
25+
"type": "ECOSYSTEM",
26+
"events": [
27+
{
28+
"introduced": "7.1.0"
29+
},
30+
{
31+
"fixed": "7.1.11"
32+
}
33+
]
34+
}
35+
],
36+
"database_specific": {
37+
"last_known_affected_version_range": "<= 7.1.10"
38+
}
39+
},
40+
{
41+
"package": {
42+
"ecosystem": "npm",
43+
"name": "vite"
44+
},
45+
"ranges": [
46+
{
47+
"type": "ECOSYSTEM",
48+
"events": [
49+
{
50+
"introduced": "7.0.0"
51+
},
52+
{
53+
"fixed": "7.0.8"
54+
}
55+
]
56+
}
57+
],
58+
"database_specific": {
59+
"last_known_affected_version_range": "<= 7.0.7"
60+
}
61+
},
62+
{
63+
"package": {
64+
"ecosystem": "npm",
65+
"name": "vite"
66+
},
67+
"ranges": [
68+
{
69+
"type": "ECOSYSTEM",
70+
"events": [
71+
{
72+
"introduced": "6.0.0"
73+
},
74+
{
75+
"fixed": "6.4.1"
76+
}
77+
]
78+
}
79+
],
80+
"database_specific": {
81+
"last_known_affected_version_range": "<= 6.4.0"
82+
}
83+
},
84+
{
85+
"package": {
86+
"ecosystem": "npm",
87+
"name": "vite"
88+
},
89+
"ranges": [
90+
{
91+
"type": "ECOSYSTEM",
92+
"events": [
93+
{
94+
"introduced": "2.9.18"
95+
},
96+
{
97+
"fixed": "5.4.21"
98+
}
99+
]
100+
}
101+
],
102+
"database_specific": {
103+
"last_known_affected_version_range": "< 3.0.0"
104+
}
105+
},
106+
{
107+
"package": {
108+
"ecosystem": "npm",
109+
"name": "vite"
110+
},
111+
"ranges": [
112+
{
113+
"type": "ECOSYSTEM",
114+
"events": [
115+
{
116+
"introduced": "3.2.9"
117+
},
118+
{
119+
"fixed": "5.4.21"
120+
}
121+
]
122+
}
123+
],
124+
"database_specific": {
125+
"last_known_affected_version_range": "< 4.0.0"
126+
}
127+
},
128+
{
129+
"package": {
130+
"ecosystem": "npm",
131+
"name": "vite"
132+
},
133+
"ranges": [
134+
{
135+
"type": "ECOSYSTEM",
136+
"events": [
137+
{
138+
"introduced": "4.5.3"
139+
},
140+
{
141+
"fixed": "5.4.21"
142+
}
143+
]
144+
}
145+
],
146+
"database_specific": {
147+
"last_known_affected_version_range": "< 5.0.0"
148+
}
149+
},
150+
{
151+
"package": {
152+
"ecosystem": "npm",
153+
"name": "vite"
154+
},
155+
"ranges": [
156+
{
157+
"type": "ECOSYSTEM",
158+
"events": [
159+
{
160+
"introduced": "5.2.6"
161+
},
162+
{
163+
"fixed": "5.4.21"
164+
}
165+
]
166+
}
167+
],
168+
"database_specific": {
169+
"last_known_affected_version_range": "<= 5.4.20"
170+
}
171+
}
172+
],
173+
"references": [
174+
{
175+
"type": "WEB",
176+
"url": "https://github.com/vitejs/vite/security/advisories/GHSA-93m4-6634-74q7"
177+
},
178+
{
179+
"type": "WEB",
180+
"url": "https://github.com/vitejs/vite/commit/f479cc57c425ed41ceb434fecebd63931b1ed4ed"
181+
},
182+
{
183+
"type": "PACKAGE",
184+
"url": "https://github.com/vitejs/vite"
185+
}
186+
],
187+
"database_specific": {
188+
"cwe_ids": [
189+
"CWE-22"
190+
],
191+
"severity": "MODERATE",
192+
"github_reviewed": true,
193+
"github_reviewed_at": "2025-10-20T19:54:28Z",
194+
"nvd_published_at": null
195+
}
196+
}

0 commit comments

Comments
 (0)