Goal Reached Thanks to every supporter — we hit 100%!

Goal: 1000 CNY · Raised: 1000 CNY

100.0%

CVE-2025-30208 PoC — Vite bypasses server.fs.deny when using `?raw??`

Source
Associated Vulnerability
Title:Vite bypasses server.fs.deny when using `?raw??` (CVE-2025-30208)
Description:Vite, a provider of frontend development tooling, has a vulnerability in versions prior to 6.2.3, 6.1.2, 6.0.12, 5.4.15, and 4.5.10. `@fs` denies access to files outside of Vite serving allow list. Adding `?raw??` or `?import&raw??` to the URL bypasses this limitation and returns the file content if it exists. This bypass exists because trailing separators such as `?` are removed in several places, but are not accounted for in query string regexes. The contents of arbitrary files can be returned to the browser. Only apps explicitly exposing the Vite dev server to the network (using `--host` or `server.host` config option) are affected. Versions 6.2.3, 6.1.2, 6.0.12, 5.4.15, and 4.5.10 fix the issue.
Description
mass scan for CVE-2025-30208
Readme
# CVE-2025-30208

This repository contains a Bash script that automates the process of detecting and scanning CVE-2025-30208 from a list of URLs. The script integrates Discord notifications for tracking execution status.

## Features
- Runs `detect_vite.py` to identify Vite servers from a list of URLs.
- Generates `hosts.txt` containing identified Vite servers.
- Runs `scan_vite.py` to scan the detected CVE-2025-30208.
- Sends a Discord notification when the script starts and completes execution.
- Handles missing files with proper error handling.

## flow
run script.sh
`detect_vite.py` starts on `urls.txt` --> generate `hosts.txt` (identified vulnerable vite server) --> `scan_vite.py` starts on `hosts.txt`

## for single url scan
insert url in `hosts.txt` file and then 
`python3 scan_vite.py`

## Prerequisites
- Python 3 installed
- `detect_vite.py` and `scan_vite.py` scripts in the same directory
- `urls.txt` containing URLs to scan for CVE-2025-30208
- A Discord webhook for notifications

## Installation
1. Clone the repository:
   ```sh
   git clone https://github.com/your-username/your-repo.git
   cd your-repo
   ```
2. Make the script executable:
   ```sh
   chmod +x script.sh
   ```
3. Replace `YOUR_DISCORD_WEBHOOK_URL` in `scan_vite.py` with your actual Discord webhook URL.

## Usage
Run the script using:
```sh
./script.sh
```

## Expected Behavior
- If all required files are available, the script will execute and send notifications to Discord.
- If any file is missing (`detect_vite.py`, `scan_vite.py`, `urls.txt`), the script will notify the error and exit.
- If `hosts.txt` is not generated after `detect_vite.py`, the script will notify an error and stop execution.

## Script Workflow
1. Sends a Discord message indicating script execution has started.
2. Checks for the existence of required files.
3. Runs `detect_vite.py` on `urls.txt`.
4. Verifies that `hosts.txt` was created.
5. Runs `scan_vite.py` on `hosts.txt`.
6. Sends a Discord message upon successful completion.

## Example Discord Messages
- 🟢 **Script started:** Running detect_vite and scan_vite.
- ❌ **Error:** Missing file (detect_vite.py, scan_vite.py, or urls.txt)
- ❌ **Error:** `hosts.txt` was not generated.
- ✅ **Scan completed successfully!**

## reference
[advisory!](https://github.com/advisories/GHSA-x574-m823-4x7w)

## Author
[sumeet-darekar](https://github.com/sumeet-darekar)
File Snapshot

[4.0K] /data/pocs/63822043a25378196b7aa98c94a14f6a7866a8ed ├── [4.0K] detect_vite.py ├── [2.3K] README.md ├── [2.8K] scan_vite.py └── [ 764] script.sh 0 directories, 4 files
Shenlong Bot has cached this for you
Remarks
    1. It is advised to access via the original source first.
    2. Local POC snapshots are reserved for subscribers — if the original source is unavailable, the local mirror is part of the paid plan.
    3. Mirroring, verifying, and maintaining this POC archive takes ongoing effort, so local snapshots are a paid feature. Your subscription keeps the archive online — thank you for the support. View subscription plans →