Loading...
Skip to main content

CVE-2025-67489 — Vulnerability in @vitejs/plugin-rsc — CVE Details

CRITICAL

@vitejs/plugin-rsc Remote Code Execution through unsafe dynamic imports in RSC server function APIs on development server

Published December 8, 2025Updated December 9, 2025Source: osv

Summary

## Summary Arbitrary Remote Code Execution on development server via unsafe dynamic imports in `@vitejs/plugin-rsc` server function APIs (`loadServerAction`, `decodeReply`, `decodeAction`) when integrated into RSC applications that expose server function endpoints. ## Impact Attackers with network access to the development server can execute arbitrary JavaScript code with Node.js privileges, allowing them to read/modify files, exfiltrate sensitive data (source code, environment variables, credentials), or pivot to other internal services. While this affects development servers only, the risk increases when using `vite --host` to expose the server on all network interfaces. ## Details In the example RSC application provided in Proof of Concept, the server handles server function call through API such as `loadServerAction`, `decodeReply`, `decodeAction` with http request's header and body as inputs: https://github.com/vitejs/vite-plugin-react/blob/c8af971f57f12d0190d7fd8829a429f5e4112f60/packages/plugin-rsc/examples/starter/src/framework/entry.rsc.tsx#L42-L47 During development, these API internally relies on dynamic import to load server function module, which allows executing arbitrary module including data url module. https://github.com/vitejs/vite-plugin-react/blob/c8af971f57f12d0190d7fd8829a429f5e4112f60/packages/plugin-rsc/src/rsc.tsx#L19-L24 ## Proof of Concept The example app is avialable in - https://github.com/vitejs/vite-plugin-react/tree/main/packages/plugin-rsc/examples/starter - https://stackblitz.com/edit/github-rubfqp9k?file=poc.js **Reproduction Steps:** - Stat development server `vite dev` - Run a following script `node poc.js` - See "REMOTE CODE EXECUTION1" and "REMOTE CODE EXECUTION2" in server console ```js // [poc.js] const payload = { 0: ["$F1"], 1: { id: "data:text/javascript,console.log('REMOTE CODE EXECUTION 1')# " }, }; const fd = new FormData(); for (const key in payload) { fd.append(key, JSON.stringify(payload[key])); } const serverUrl = process.argv[2] || 'http://localhost:5173/_.rsc'; const response = fetch(serverUrl, { method: "POST", headers: { "x-rsc-action": "data:text/javascript,console.log('REMOTE CODE EXECUTION 2')# ", }, body: fd, }) ```

Advisory Timeline

  • First published December 8, 2025 (308 days ago).
  • Last revised December 9, 2025 — 1 day after initial publication.

Remediation

Upgrade to the fixed version using your package manager.

npm
Update @vitejs/plugin-rsc to 0.5.6 or later
npm install @vitejs/plugin-rsc@0.5.6

After upgrading, run your dependency scanner again to confirm the vulnerability is resolved.

Affected Packages (1)

Affects 1 ecosystem: npm (1).

PackageEcosystemAffectedFixed In
@vitejs/plugin-rsc
npm
All versions0.5.6

Vulnerability Classification

Common Weakness Enumeration (CWE) identifiers for this vulnerability type.

CVSS Score Breakdown

What the CVSS (Common Vulnerability Scoring System) 9.8 score means for each attack dimension.

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
High

CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H

Frequently Asked Questions

What is CVE-2025-67489?
@vitejs/plugin-rsc Remote Code Execution through unsafe dynamic imports in RSC server function APIs on development server This vulnerability has been assigned a severity rating of CRITICAL (CVSS score: 9.8/10).
How do I check if my project is affected by CVE-2025-67489?
CVE-2025-67489 affects @vitejs/plugin-rsc. Use GeekWala's free vulnerability scanner to check your dependencies against CVE-2025-67489 and 200,000+ other known vulnerabilities.

Severity & Exploitability

CVSS Score
9.8

Exploitation is straightforward and causes maximum impact. Patch immediately.

Also Known As

GHSA-j76j-5p5g-9wfr

Related CVEs

  • CVE-2026-107722
    CRITICAL

    fast-jwt: Incomplete patch of CVE-2026-34950: Non-whitespace key-prefix re-enables RSA→HS256 algorithm confusion

  • CVE-2026-108261
    CRITICAL

    TinaCMS admin preview iframe loads an attacker-controlled origin from the URL fragment

Check if you're affected

Scan your dependencies to see if this vulnerability affects your projects.

Scan Your Dependencies