By NHI Mgmt Group Editorial TeamBased on Semgrep: “Remote Code Execution Security Bug in React Server Components Patched” (December 4, 2025)

TL;DR: A remote code execution flaw in React Server Functions, tracked as CVE-2025-55182, affects multiple downstream frameworks including Next, React Router, Waku, Parcel RSC, Vite RSC, and RedwoodJS, according to Semgrep’s advisory summary of the React team disclosure. The exposure is especially relevant where organisations rely on transitive dependencies and assume framework-level isolation protects server-side execution paths.


At a glance

What this is: A React Server Functions RCE advisory shows how one server-side flaw can cascade into multiple downstream frameworks through shared dependencies and bundled transitive packages.

Why it matters: It matters because application teams can inherit exploitable server-side execution paths without directly choosing the vulnerable component, so dependency inventory and patch discipline become security controls, not just engineering hygiene.


Context

React Server Functions are server-executed functions that can be invoked from client-side code, so they sit at the boundary between application logic and server trust. When that boundary is broken by insecure deserialisation or unsafe module resolution, the result is not just an application bug but a server-side execution primitive that can affect any framework layering on top of the component model.

The security gap here is transitive exposure. Teams often assume their framework choice or hosting setup creates isolation, but downstream packages can inherit the same execution path and the same flaw. For identity and access teams, that matters because code execution flaws can become a route into secrets, tokens, service accounts, and privileged deployment systems even when the original issue is framed as an application vulnerability.

The article’s examples are not atypical. This is the normal failure mode of modern dependency chains: one vulnerable primitive propagates across multiple build and runtime stacks unless inventory, version control, and runtime containment are already tight.


Key questions

Q: What breaks when React Server Functions are vulnerable to RCE?

A: The server-side trust boundary breaks first, because attacker-controlled input can be turned into code execution inside the application runtime. Once that happens, the issue is no longer limited to application logic. The attacker can reach environment secrets, internal files, and any privileges exposed to that process.

Q: Why does a framework RCE create broader risk than a single application bug?

A: A framework RCE affects every application path that depends on the shared runtime, including rendering, routing, and data access. That means one flaw can expose secrets, tokens, databases, and persistence mechanisms across many services, so the blast radius is far larger than a single code path.

Q: How can security teams tell whether their applications are exposed?

A: They should inspect dependency trees for affected React server-component packages and then confirm whether the codebase uses server functions or unstable RSC APIs. Exposure is highest where the vulnerable path is present and the application actually exercises server-side invocation rather than static client-only rendering.

Q: What should teams do when RCE affects a runtime that can read secrets?

A: They should assume the process can access machine credentials, tokens, and sensitive configuration until proven otherwise. That means patching the vulnerable packages, constraining runtime permissions, and reviewing whether any service accounts or deployment secrets were reachable from the affected application.


Technical breakdown

How React Server Functions become an execution boundary

React Server Functions are defined to run on the server while being callable from client components through the framework’s transport layer. That convenience creates a security boundary that depends on the integrity of request parsing, deserialisation, and module resolution. If the server accepts attacker-controlled payloads and turns them into module or export lookups, the boundary collapses into arbitrary code execution. In practice, this is less about React syntax and more about how the runtime interprets structured input before execution.

Practical implication: review any server-function transport path as a code-execution boundary, not just an application endpoint.

Why downstream frameworks inherit the same flaw

Frameworks such as Next, React Router, Waku, Parcel RSC, Vite RSC, and RedwoodJS can all embed the same server-component mechanism through shared dependencies or bundled runtime helpers. That means the security issue is not limited to a single package name. Once a vulnerable implementation is present in a dependency tree, the attack surface expands to every application that consumes it, including transitive consumers that never imported the vulnerable module directly.

Practical implication: treat transitive dependency analysis as part of exposure management, not a build-time nice-to-have.

Why unauthenticated RCE is a supply chain and secrets problem

Unauthenticated RCE is especially dangerous because it removes the attacker’s need to steal credentials before interacting with the vulnerable service. After code execution, the next targets are usually environment variables, deployment tokens, service credentials, and adjacent runtime permissions. That is where an application exploit becomes an identity and access issue. In NHI terms, the risk shifts from a flaw in code to abuse of whatever machine identities and secrets the runtime can reach.

Practical implication: assume RCE can expose machine credentials and secrets, then reduce the privileges available to the affected runtime.


Threat narrative

Attacker objective: The attacker’s objective is to turn a framework-level parsing flaw into arbitrary server execution that can expose secrets, tokens, and wider infrastructure access.

  1. Entry occurs through crafted input to React Server Functions that triggers insecure deserialisation and module lookup on the server.
  2. The attacker gains unauthenticated code execution in the application runtime and can inspect local process context, secrets, and reachable files.
  3. With that execution path, the attacker can pivot into privileged system access, deploy malware, or stage follow-on abuse against connected infrastructure.

Read and download The State of NHI & AI Agent Breach Report 2026, covering 200+ breaches impacting Non-Human Identities including AI Agents.


NHI Mgmt Group analysis

Transitive framework exposure is the real control failure here. The article shows that one vulnerable server-function implementation can surface across multiple frameworks through shared dependency paths. That means ownership cannot stop at the top-level package name, because the exploitable surface is created by composition, not just by direct installation. Practitioners should treat transitive inventory as a security boundary.

Server-component transport has become an identity-adjacent execution channel. Once unauthenticated RCE exists, the practical question is not only who can run code, but which machine identities, tokens, and runtime permissions the compromised process can reach. This is where application security and NHI governance intersect: privileged service credentials in runtime environments turn code execution into broader trust compromise. Practitioners need to map server-side execution paths to the secrets they can touch.

Patch velocity is necessary but not sufficient when the attack surface is dependency-driven. The article’s affected-package list shows how quickly a single flaw can spread across downstream ecosystems. That creates what we would call framework inheritance risk: teams inherit the security posture of embedded runtime components even when they do not manage those components directly. Practitioners should make dependency exposure visible before assuming framework isolation exists.

Hosting-layer mitigations can buy time, but they do not replace remediation. Firewalls and provider-side rules may block exploitation paths in some environments, yet they are compensating controls, not root-cause fixes. The durable control is version control plus runtime containment. Practitioners should use provider protections as a buffer while validating affected builds and removing vulnerable runtime paths.

From our research library:

What this signals

Framework inheritance risk: downstream dependency chains can import server-side execution flaws long before teams notice them in production. That changes the governance model from simple package patching to continuous exposure mapping across build artifacts, bundled runtimes, and transitive consumers. For identity teams, the next question is which machine credentials those runtimes can reach.

The practical signal for security programmes is that software composition analysis and secrets governance now need to be linked. An RCE in a server component is not just a code defect if the same process can read deployment tokens or cloud credentials. Teams should therefore review runtime permissions and secret placement together, not as separate controls.

The broader market lesson is that transitive exposure is now a first-order application security problem, not a niche supply-chain concern. A vulnerability in a shared server-function layer can spread through multiple frameworks and create the same blast radius across many estates.


For practitioners

  • Inventory transitive React server-component dependencies Identify every application that pulls in next, react-server-dom-*, React Router unstable RSC APIs, Waku, Parcel RSC, Vite RSC, or RedwoodJS through direct or nested dependencies. Do not rely on top-level manifests alone.
  • Patch to the affected fixed versions immediately Move impacted packages to the latest patched releases referenced in the advisory, and treat the upgrade as a production change that needs validation across build, test, and deploy pipelines.
  • Reduce runtime access to secrets and tokens Limit what the affected server process can read or invoke by tightening environment variable scope, service credential exposure, and outbound permissions in the runtime boundary.
  • Scan for exposed frameworks in supply chain tooling Use software composition analysis to flag bundled or transitive packages that include the vulnerable RSC path, then verify whether the codebase actually exercises server-function features.
  • Validate compensating controls without treating them as remediation Check whether hosting-provider firewall rules are blocking the exploit path, but keep that separate from fix status because the vulnerable code path still exists until patched.

Key takeaways

  • The flaw matters because it turns a server-component transport path into a code execution boundary that attackers can abuse without authentication.
  • The exposure extends beyond one package name, since downstream frameworks can inherit the same vulnerable execution path through transitive dependencies.
  • Patching is necessary, but limiting runtime access to secrets and machine credentials is what reduces the damage if a similar flaw is ever reached again.

Standards & Framework Alignment

This section maps relevant standards and security frameworks to the operational risks and controls described in this guidance.

OWASP Non-Human Identity Top 10, OWASP API Security Top 10 and MITRE ATT&CK address the attack and risk surface, while NIST CSF 2.0 sets the governance and control requirements practitioners need to meet.

FrameworkControl / ReferenceRelevance
OWASP Non-Human Identity Top 10NHI-02 — Secret LeakageRCE can expose machine secrets and tokens reachable by the server runtime.
NHI-05 — Overprivileged NHIThe affected runtime can abuse whatever service permissions are already available.
Recommendation — Scan runtime paths for exposed NHI secrets and revoke any credentials the compromised process can reach. Reduce runtime privilege so server processes cannot access more machine identity scope than they need.
OWASP API Security Top 10API2 — Broken AuthenticationUnauthenticated exploitation of server functions bypasses expected access checks.
Recommendation — Verify that server-side entry points cannot execute privileged actions without strong authentication.
NIST CSF 2.0PR.AA-05 — Access Permissions, Entitlements and AuthorizationsRuntime permissions determine how far RCE can reach once exploitation occurs.
Recommendation — Review application entitlements so compromised runtimes cannot access unnecessary resources.
MITRE ATT&CKTA0001;TA0006;TA0009 — Initial Access; Credential Access; CollectionThe attack chain starts with code execution and can reach credentials and data on host.
Recommendation — Map the vulnerable execution path to initial access, credential access, and collection detection logic.

Key terms

  • React Server Components: A server-side rendering model that moves part of the React component tree to the server and streams rendered output to the client. Because it runs inside the application trust boundary, flaws in this layer can expose code, secrets, or processing logic rather than only visual behaviour.
  • Transitive dependency exposure: Security exposure that arrives through an indirect software dependency rather than a package a team selected directly. It matters because the vulnerable code can exist in runtime paths that are easy to miss if governance only tracks top-level frameworks.
  • Insecure deserialisation: Insecure deserialisation is a flaw where software rebuilds objects from incoming data without tightly controlling what can be instantiated. In platform software, it can turn a management interface into a code execution path when hostile payloads are accepted from a trusted channel.
  • Runtime Secret Visibility: Runtime secret visibility is the ability to observe when and where secrets are accessed while systems are actively running. It matters because static inventories alone do not show whether a tool, workflow, or workload is reading credentials in memory, files, or logs.

Deepen your knowledge

NHI Mgmt Group covers identity security, NHI governance, and agentic AI through independent research, practitioner guides, and the NHI Foundation Level course. Explore nhimg.org for resources that connect identity governance to the broader security disciplines your programme depends on.
NHIMG Editorial Note
Published by the NHIMG editorial team on August 2, 2026.
Updated on October 12, 2026.
NHI Mgmt Group, the independent authority on Non-Human Identity, IAM, and Agentic AI security. nhimg.org