CVE-2025-67489

9.8 CRITICAL

📋 TL;DR

CVE-2025-67489 allows remote attackers to execute arbitrary code on Vite development servers using vulnerable versions of @vitejs/plugin-rs. This affects developers using React Server Components with Vite who expose their development servers to network access. The vulnerability enables complete server compromise through unsafe dynamic imports in server function APIs.

💻 Affected Systems

Products:
  • @vitejs/plugin-rs
Versions: 0.5.5 and below
Operating Systems: All
Default Config Vulnerable: ⚠️ Yes
Notes: Only affects development servers, not production builds. Risk increases significantly when using 'vite --host' to expose server.

⚠️ Manual Verification Required

This CVE does not have specific version information in our database, so automatic vulnerability detection cannot determine if your system is affected.

Why? The CVE database entry doesn't specify which versions are vulnerable (no version ranges provided by the vendor/NVD).

🔒 Custom verification scripts are available for registered users. Sign up free to download automated test scripts.

Recommended Actions:
  1. Review the CVE details at NVD
  2. Check vendor security advisories for your specific version
  3. Test if the vulnerability is exploitable in your environment
  4. Consider updating to the latest version as a precaution

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete server takeover allowing file system access, credential theft, source code exfiltration, and lateral movement to internal services.

🟠

Likely Case

Sensitive data exposure including environment variables, source code, and development credentials.

🟢

If Mitigated

Limited to local development environments with no network exposure.

🌐 Internet-Facing: HIGH - Development servers exposed via 'vite --host' are fully vulnerable to remote exploitation.
🏢 Internal Only: MEDIUM - Internal network access still enables exploitation, though attack surface is reduced.

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: LIKELY
Unauthenticated Exploit: ⚠️ Yes
Complexity: LOW

Exploitation requires network access to development server. No authentication needed.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 0.5.6

Vendor Advisory: https://github.com/vitejs/vite-plugin-react/security/advisories/GHSA-j76j-5p5g-9wfr

Restart Required: Yes

Instructions:

1. Update package.json to specify '@vitejs/plugin-rs': '^0.5.6'. 2. Run 'npm update @vitejs/plugin-rs' or 'yarn upgrade @vitejs/plugin-rs'. 3. Restart development server.

🔧 Temporary Workarounds

Restrict Network Access

all

Prevent exposure of development server to network

Remove '--host' flag from Vite dev command
Use 'vite' instead of 'vite --host'

Firewall Development Server

linux

Block external access to development port

sudo ufw deny 5173/tcp
iptables -A INPUT -p tcp --dport 5173 -j DROP

🧯 If You Can't Patch

  • Never expose development server to network (avoid 'vite --host')
  • Use VPN or SSH tunneling for remote development access

🔍 How to Verify

Check if Vulnerable:

Check package.json for '@vitejs/plugin-rs' version <=0.5.5

Check Version:

npm list @vitejs/plugin-rs | grep @vitejs/plugin-rs

Verify Fix Applied:

Confirm package.json shows '@vitejs/plugin-rs': '^0.5.6' and run 'npm list @vitejs/plugin-rs'

📡 Detection & Monitoring

Log Indicators:

  • Unusual import patterns in server logs
  • Unexpected file system access from development server

Network Indicators:

  • External connections to development server port (typically 5173)
  • Suspicious HTTP requests to server function endpoints

SIEM Query:

source="vite-dev-server" AND (event="import" OR event="fs_access") AND user!=expected_user

🔗 References

📤 Share & Export