CVE-2025-67489 in vite-plugin-reactinfo

Summary

by MITRE • 12/09/2025

@vitejs/plugin-rs provides React Server Components (RSC) support for Vite. Versions 0.5.5 and below are vulnerable to arbitrary remote code execution on the development server through unsafe dynamic imports in server function APIs (loadServerAction, decodeReply, decodeAction) when integrated into RSC applications that expose server function endpoints. Attackers with network access to the development server can 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. This issue is fixed in version 0.5.6.

Be aware that VulDB is the high quality source for vulnerability data.

Analysis

by VulDB Data Team • 12/10/2025

The vulnerability identified as CVE-2025-67489 affects the @vitejs/plugin-rs plugin which provides React Server Components support for the Vite development environment. This issue specifically targets versions 0.5.5 and earlier where the plugin introduces a critical security flaw through unsafe dynamic import mechanisms within server function APIs. The vulnerability manifests in the loadServerAction, decodeReply, and decodeAction functions that are part of the plugin's server-side processing capabilities. These functions process dynamic imports without proper sanitization or validation, creating an avenue for malicious actors to execute arbitrary code on the development server. The flaw exists specifically within RSC applications that expose server function endpoints, making the vulnerability particularly dangerous in development environments where such endpoints may be accessible over the network.

The technical implementation of this vulnerability stems from improper handling of dynamic imports in server-side functions that process user-provided data. When the plugin processes server actions through the affected APIs, it accepts serialized data that includes dynamic import statements without adequate input validation or sanitization. This creates a path for attackers to inject malicious JavaScript code that gets executed within the context of the development server. The vulnerability is classified under CWE-94 as "Improper Control of Generation of Code ('Code Injection')" and aligns with ATT&CK technique T1190 "Exploit Public-Facing Application" since it allows remote code execution through network-accessible development servers. The risk is significantly elevated when developers use the vite --host flag to expose their development servers on all network interfaces, making them accessible to external attackers who can leverage this vulnerability to gain unauthorized access.

The operational impact of CVE-2025-67489 extends beyond simple code execution capabilities as attackers can leverage this vulnerability to perform comprehensive system compromise operations. Successful exploitation allows adversaries to read and modify files on the development server, potentially accessing sensitive source code, environment variables, and authentication credentials stored within the development environment. The vulnerability also enables data exfiltration operations where attackers can extract confidential information from the compromised system. Additionally, the compromised development server can serve as a launching point for lateral movement attacks against other internal services that may be accessible from the development environment. This makes the vulnerability particularly dangerous in corporate environments where development servers may have access to internal networks, databases, or other sensitive systems. The attack surface is further expanded when developers expose their development servers to external networks, as this removes the typical network isolation that would normally protect development environments from external threats.

The remediation for CVE-2025-67489 is straightforward and involves upgrading to version 0.5.6 or later of the @vitejs/plugin-rs plugin. This update addresses the unsafe dynamic import handling by implementing proper input validation and sanitization mechanisms within the affected server function APIs. Organizations should immediately assess their development environments to identify installations of vulnerable plugin versions and implement the upgrade as a priority. Security teams should also review their development server configurations to ensure that development servers are not unnecessarily exposed to external networks, particularly when using the vite --host flag. Additionally, organizations should consider implementing network segmentation and access controls to limit exposure of development environments to internal networks only. The fix demonstrates proper secure coding practices by ensuring that dynamic imports are properly validated and sanitized before execution, preventing the injection of malicious code through user-provided data. This vulnerability serves as a reminder of the importance of secure coding practices in development tools and the potential security implications of insecure dynamic code execution mechanisms in development environments.

Responsible

GitHub M

Reservation

12/08/2025

Disclosure

12/09/2025

Moderation

accepted

CPE

ready

EPSS

0.00362

KEV

no

Activities

very low

Sources

Are you interested in using VulDB?

Download the whitepaper to learn more about our service!