TL;DR: CVE-2025-55182 and related CVE-2025-66478 in Next.js can allow unauthenticated remote code execution through a crafted HTTP request against React Server Components, putting server-side code, data, and credentials at risk according to Cymulate. The vulnerability shows how application-layer trust collapses when exposed frameworks, dependency chains, and patch drift are not tightly governed.
At a glance
What this is: This is a security analysis of a critical unauthenticated remote code execution flaw in React Server Components and the Next.js stack, with a key finding that a single crafted request can trigger server-side code execution.
Why it matters: It matters to IAM, cloud, and application security teams because server compromise can expose credentials, tokens, and service accounts, turning an app flaw into an identity and privilege problem.
By the numbers:
- 71% of NHIs are not rotated within recommended time frames, increasing the risk of compromise over time
- 96% of organisations store secrets outside of secrets managers in vulnerable locations including code, config files, and CI/CD tools
- 97% of NHIs carry excessive privileges, increasing unauthorised access and broadening the attack surface
👉 Read Cymulate's analysis of the React Server Components RCE and exposure testing
Context
React Server Components are part of the modern web application delivery stack, where server-side rendering and client-server data exchange depend on structured requests that frameworks parse at runtime. When that parsing layer is vulnerable, an attacker does not need a password, session, or internal foothold to reach code execution. This is a web application security problem first, but it quickly becomes an identity problem when credentials, tokens, and service accounts are reachable from the server.
The practical governance gap is dependency trust. Teams often assume that framework versions, package managers, and patch notes accurately reflect what is actually deployed, but bundled modules, caret version ranges, and plugin ecosystems can leave exposed code in production. For identity programmes, the lesson is direct: application compromise often becomes secret exposure, and secret exposure becomes privilege abuse.
This is a typical modern application risk pattern, not an edge case. Web-facing services built on shared frameworks inherit the blast radius of upstream flaws, and security teams need to treat framework exposure as part of their access and secrets governance model.
Key questions
Q: What breaks when an internet-facing application has unauthenticated remote code execution?
A: When an internet-facing application has unauthenticated remote code execution, the first broken control is trust at the perimeter. Attackers can execute commands without valid credentials, then use the compromised host to reach internal services that were never meant to be directly exposed. The result is usually not just a server issue, but a containment failure across application, identity, and network boundaries.
Q: Why do exposed web applications become identity security problems so quickly?
A: Because application servers often sit on top of valuable non-human identities. If the server can read cloud tokens, API keys, deployment credentials, or database secrets, the attacker can pivot into other systems without needing to break authentication again. The main risk is not just compromise of one host, but reuse of the identities that host was trusted to access.
Q: What do security teams get wrong about patching SAP vulnerabilities?
A: They often treat patching as an infrastructure task instead of a control-state change. In a system like SAP, a known code injection flaw leaves the environment operationally exposed until the note is applied and verified everywhere. Patch status should be managed as part of identity and access governance for the platform.
Q: Which controls matter most after a public application RCE is disclosed?
A: Containment starts with patching, but the bigger control set is identity and secrets hygiene. Rotate exposed credentials, review service account permissions, remove persistent secrets from app hosts, and check for anomalous outbound activity from affected servers. Those steps reduce the chance that one exploit becomes a broader cloud or data breach.
Technical breakdown
How React Server Components request handling becomes an execution path
React Server Components use a structured transport layer for exchanging component state and server-rendered output. In vulnerable implementations, a specially crafted request can reach deserialisation logic that was never meant to process attacker-controlled input. When that parsing path accepts unsafe payloads, the server can execute code in the application context without authentication. The key issue is not React as a brand name, but the combination of server-side parsing, runtime interpretation, and exposed request handling that turns a normal HTTP interaction into an execution primitive.
Practical implication: identify all exposed applications using server components and verify whether their request-handling path is still on affected builds.
Why dependency drift and bundled modules widen exposure
Modern JavaScript applications rarely depend on a single obvious package version. Lock files, transitive dependencies, bundlers, and framework plugins can all influence what is actually running in production. A manifest that appears patched can still ship vulnerable react-server-dom modules if the deployment pipeline or build output is stale. This is why version declarations alone are not evidence of safety. Security teams need to verify the installed artefact, not just the source tree, especially when framework ecosystems can embed vulnerable components indirectly.
Practical implication: audit build artefacts and lock files together, then confirm the deployed runtime matches the patched package set.
What unauthenticated RCE changes for secrets and identity control
Unauthenticated remote code execution collapses the boundary between application security and identity security. Once a server is compromised, attackers commonly look for environment variables, API keys, session material, deployment tokens, and workload credentials. In cloud-hosted applications, those secrets may unlock storage, CI/CD, messaging, or admin interfaces. That makes the post-exploitation problem an identity governance problem as much as an application patching problem, because the real question becomes which non-human identities were reachable from the affected server and what privilege they held.
Practical implication: map exposed servers to the secrets and service accounts they can reach, then remove standing privilege where that blast radius is unnecessary.
Threat narrative
Attacker objective: The attacker aims to turn one exposed web request into server takeover and access to the secrets and privileges stored on or reachable from that application host.
- Entry occurs through a specially crafted HTTP request sent to the vulnerable React Server Components flight path, requiring no authentication or prior access.
- Credential access follows when the compromised server exposes environment variables, API keys, tokens, or deployment secrets to the attacker.
- Impact occurs as the attacker gains server-side code execution, enabling data theft, service disruption, or downstream compromise of connected systems.
Breaches seen in the wild
- Salesloft OAuth token breach — hackers stole OAuth tokens to access Salesforce data via Salesloft.
- Gladinet Hard-Coded Keys RCE Exploitation — Actively exploited hard-coded keys in Gladinet CentreStack and Triofox enable remote code execution.
Read our 52 NHI Breaches Analysis report for a comprehensive view of breaches impacting Non-Human Identities including AI Agents.
NHI Mgmt Group analysis
Application RCE is now an identity exposure event: When a web framework flaw can expose secrets and service credentials, patching alone is only the first control layer. The real governance question is which non-human identities, tokens, and deployment accounts become reachable after server compromise. That shifts the issue from application hygiene to blast-radius management, especially in cloud-hosted environments where one compromised node can unlock many systems.
Dependency trust is the named concept security teams are still underestimating: build-time declarations are not the same as runtime reality. Caret ranges, transitive modules, and bundled framework components can preserve vulnerable code even after teams think they have patched. This is why application inventory, artefact validation, and deployed dependency attestation matter as much as vulnerability scanning. Practitioners should treat the deployed bundle as the source of truth.
Secrets exposed through application compromise are usually the real asset loss: the code execution event is often only the doorway. Once attackers can read environment variables or configuration files, they can move into cloud APIs, messaging queues, storage, or CI/CD systems. That means identity governance must extend into application runtime, because a compromised server can become an NHI control failure within minutes.
Framework-based compromise validates zero-standing-privilege thinking for web workloads: if every exposed app host retains persistent credentials, the blast radius after exploitation is too large. Least privilege, short-lived credentials, and workload-specific identity reduce the number of reusable secrets an attacker can harvest. The control objective is not to make exploitation impossible, but to make the resulting access too narrow to scale.
Detection must focus on abnormal request patterns and secret-reachability, not just malware: unauthenticated RCE in application stacks often leaves only network and runtime clues. Teams need telemetry that links unusual HTTP behaviour to secret access, privilege use, and outbound connections. Otherwise the compromise is discovered only after data or identity assets have already moved beyond containment.
From our research:
- 96% of organisations store secrets outside of secrets managers in vulnerable locations including code, config files, and CI/CD tools, according to the Ultimate Guide to NHIs.
- 71% of NHIs are not rotated within recommended time frames, increasing the risk of compromise over time.
- NHI Lifecycle Management Guide shows how lifecycle controls reduce the blast radius after application compromise.
What this signals
Application RCE disclosures increasingly sit inside identity programmes because the post-exploit objective is usually secrets extraction, not just service disruption. The practical signal for security leaders is that workload identity, secrets placement, and runtime telemetry need to be reviewed together. If a web server can reach long-lived credentials, the organisation has already accepted more privilege than the application needs.
Runtime secret exposure: this is the control gap exposed by modern framework compromise. Teams that still rely on static credentials embedded in app hosts need to expect faster lateral movement after a web exploit, because attackers no longer need to search for a separate identity weakness. Aligning application hardening with NHI lifecycle management reduces that inheritance problem.
The governance signal is clear: application security is now part of identity blast-radius control. For teams using NIST SP 800-53 Rev 5 Security and Privacy Controls, the relevant challenge is not only patch discipline but access scope, secret rotation, and monitoring of credential use after compromise. That is where a modern control programme either contains the incident or turns it into an enterprise event.
For practitioners
- Inventory every exposed React and Next.js workload Identify all public-facing and internal applications that use React 19, Next.js App Router, or bundled react-server-dom modules. Confirm the actual deployed artefact, not just the manifest, and flag anything still on affected versions.
- Validate secret exposure paths from the application host Map which API keys, tokens, environment variables, and service accounts are reachable if the server is compromised. Remove long-lived credentials from app hosts where possible and move toward short-lived workload identity for backend access.
- Rebuild trust in the release pipeline Compare lock files, build outputs, and package manager behaviour to detect dependency drift. Treat caret ranges, stale bundles, and transitive modules as part of the risk surface, not just source code dependencies.
- Test detection with controlled exploitation scenarios Run non-intrusive simulations that exercise the vulnerable request path and confirm whether SIEM, WAF, and endpoint controls generate usable alerts before an attacker reaches secret material.
Key takeaways
- A single unauthenticated RCE in a popular web framework can become an identity exposure event when the server can read secrets and service credentials.
- The most dangerous failure mode is not the exploit alone, but the combination of vulnerable runtime code, stale dependencies, and persistent credentials on the host.
- Teams that want to limit impact need verified patch status, short-lived workload identity, and secret rotation tied to application compromise scenarios.
Standards & Framework Alignment
This section maps relevant standards and security frameworks to the operational risks and controls described in this guidance.
MITRE ATT&CK address the attack and risk surface, while NIST CSF 2.0, NIST SP 800-53 Rev 5, CIS Controls v8 and NIST AI RMF set the governance and control requirements practitioners need to meet.
| Framework | Control / Reference | Relevance |
|---|---|---|
| MITRE ATT&CK | TA0001 , Initial Access; TA0006 , Credential Access; TA0040 , Impact | The article describes unauthenticated entry, secrets exposure, and server takeover. |
| NIST CSF 2.0 | PR.AC-4 | Privilege scope and access enforcement determine how far an RCE can spread. |
| NIST SP 800-53 Rev 5 | AC-6 | Least privilege is central when a compromised app host can reach secrets and APIs. |
| CIS Controls v8 | CIS-16 , Application Software Security | The vulnerability sits in the application software stack and its deployment pipeline. |
| NIST AI RMF | MANAGE | Identity and secrets governance for workload-adjacent systems fits AI and application risk management thinking. |
Use application security controls to verify versions, dependencies, and runtime exposure before release.
Key terms
- React Server Components: A React architecture that lets components render on the server and exchange structured data with the client. The security risk is that server-side parsing and serialisation paths become reachable over HTTP, so a bug in the transport layer can turn into code execution or data exposure.
- Unauthenticated Remote Code Execution: A flaw that lets an attacker run code on a target system without first proving who they are. In enterprise applications, this is especially dangerous because the code executes inside a trusted workload context, which can expose data, internal services, and downstream privileges.
- Dependency Drift: Dependency drift is the ongoing change in a vendor ecosystem as subcontractors, hosting layers, software components, and access paths evolve. It creates governance lag when assessment data is captured periodically but the real environment changes continuously between reviews.
- Blast Radius: The potential scope of damage if a specific credential or identity is compromised. Identities with broad permissions have a larger blast radius and represent a higher priority for least-privilege enforcement and security controls.
What's in the full report
Cymulate's full analysis covers the operational detail this post intentionally leaves for the source:
- Exact vulnerable React and Next.js version ranges, including affected react-server-dom module combinations.
- The scanner and attack-simulation behaviour used to validate WAF, SIEM, and endpoint detection coverage.
- Recommended patch sequencing for react-server-dom-* packages and Next.js releases in mixed environments.
- Guidance on using exposure validation in BAS or red-team exercises to confirm containment before exploitation.
Deepen your knowledge
The NHI Foundation Level course, the industry's only accredited NHI security programme, covers NHI governance, workload identity, and secrets management for practitioners responsible for reducing identity blast radius. It helps identity and security teams connect application compromise to the controls that limit downstream access.
Published by the NHIMG editorial team on August 2, 2026.
NHI Mgmt Group — the independent authority on Non-Human Identity, IAM, and Agentic AI security. nhimg.org