TL;DR: React Server Components in react-server-dom-parcel, react-server-dom-turbopack, and react-server-dom-webpack were affected by CVE-2025-55183 and CVE-2025-55184, adding source code exposure and denial-of-service risk after React2Shell, according to Semgrep. Patch reach is uneven because exploitation depends on specific server-component patterns, making dependency review and fix propagation the real control point.
At a glance
What this is: Semgrep’s analysis shows two follow-on React Server Components vulnerabilities that create limited source-code exposure and denial-of-service risk in specific application configurations.
Why it matters: IAM, NHI, and application security teams should care because source-code exposure can reveal embedded secrets, while dependency-driven runtime flaws can interrupt services that control authentication, authorisation, and workload access paths.
By the numbers:
- Only 20% have formal processes for offboarding and revoking API keys, and even fewer have procedures for rotating them.
- 96% of organisations store secrets outside of secrets managers in vulnerable locations including code, config files, and CI/CD tools.
- 79% of organisations have experienced secrets leaks, with 77% of these incidents resulting in tangible damage.
👉 Read Semgrep's analysis of React Server Components source disclosure and DoS risk
Context
React Server Components extend the attack surface of modern JavaScript applications because server-side execution, serialization, and dependency chaining can expose data paths that normal frontend review will miss. In this case, the primary concern is not only the original React2Shell issue but also the follow-on security impact created when adjacent packages inherit the same runtime assumptions.
For application security teams, the identity angle is indirect but real: if source code reveals embedded secrets, service credentials, API keys, or internal connection strings, the exposure becomes an NHI governance problem as well as a code flaw. That makes secure dependency management, secret handling, and patch validation part of the same control set, especially in server-component architectures where build-time and runtime boundaries blur.
Key questions
Q: What breaks when React Server Components are not fully patched?
A: Two things can fail at once. First, an attacker may trigger server-side denial of service through crafted requests. Second, a partial fix can leave some versions vulnerable, which means remediation status can look clean while exposure still remains. Teams should verify the exact package and framework combination before closing the issue.
Q: Why do server-component flaws matter for secret governance?
A: Because source-code disclosure can reveal embedded API keys, connection strings, and other non-human identities hidden in code. Once those values are exposed, the problem shifts from a software defect to a credential lifecycle issue, and teams need rotation, revocation, and search for reuse across environments.
Q: How do teams know if a vulnerability is truly exploitable?
A: They validate it in the live environment using safe testing that shows whether an attacker can reach the condition, trigger it, and move beyond it. Scanner data alone cannot answer that question reliably. Validation gives defenders evidence they can use to separate theoretical issues from immediate response priorities.
Q: What should organisations do when framework flaws can expose code and disrupt service?
A: Prioritise dependency inventory, emergency patch validation, and secret rotation in the same remediation flow. When application frameworks can leak code or consume CPU aggressively, containment has to include both code-level fixes and operational guardrails such as throttling, isolation, and secret review.
Technical breakdown
How React Server Components expand the attack surface
React Server Components shift part of the application logic to the server, where code can execute, serialize, and return structured data to the client. That design is efficient, but it also means vulnerabilities can arise in the path between server execution and client rendering, not just in the visible UI layer. In the article’s example, a crafted request can influence server-side behaviour, and a specific stringification path can expose source material that developers assumed would remain private. The security lesson is that package-level dependencies inherit the trust model of the server component runtime, so review must include execution context, not only application output.
Practical implication: validate every server-component dependency and execution path where server-side code can be serialized or reflected.
Why CVE-2025-55183 can leak source code and secrets
CVE-2025-55183 is a source-code disclosure issue, but its impact depends on a narrow set of preconditions. The article says a Server Function must explicitly or implicitly expose a stringified argument that originated within its scope, which means the flaw is exploitable only where application code passes sensitive state into a vulnerable serialization pattern. That matters because source code often contains embedded secrets, hardcoded credentials, internal endpoints, or implementation details that make later attacks easier. Even a low-probability disclosure is high-value when the codebase includes non-human identity material such as keys or tokens.
Practical implication: hunt for hardcoded secrets in server-component code and treat exposure findings as potential NHI incidents.
How CVE-2025-55184 creates denial of service in shared runtimes
CVE-2025-55184 is a denial-of-service vulnerability that can drive a server into an infinite loop and consume CPU resources. The operational issue is availability, but the architectural issue is that one crafted request can monopolise runtime capacity in an application stack that may also be handling authentication, session orchestration, or API traffic. In shared environments, a single failing dependency can degrade multiple downstream services, especially when applications use the same server component libraries across product lines. That makes blast radius a design concern, not just a patching concern.
Practical implication: rate-limit the affected routes and isolate high-risk server-component workloads from critical identity and API flows.
Threat narrative
Attacker objective: The attacker wants either sensitive source information that can be reused for follow-on intrusion or a reliable availability disruption against the affected application.
- Entry occurs through a crafted request that targets vulnerable React Server Components code paths in the affected packages.
- Credential or code exposure follows when server-side stringification reveals source content that may contain embedded secrets or implementation details.
- Impact appears either as leaked sensitive code material or as a CPU-consuming infinite loop that denies service to the application.
Breaches seen in the wild
- MITRE ATT&CK Enterprise Matrix — MITRE ATT&CK Enterprise — adversary tactics and techniques, threat detection, attack chain mapping, credential access, lateral movement, privilege escalation.
- LiteLLM PyPI package breach — LiteLLM PyPI supply chain attack, credentials stolen from users.
Read our 52 NHI Breaches Analysis report for a comprehensive view of breaches impacting Non-Human Identities including AI Agents.
NHI Mgmt Group analysis
Follow-on framework flaws matter because patching the headline CVE rarely closes the operational risk. The article shows that adjacent packages can inherit the same trust assumptions after public disclosure, which means security teams need to think in dependency clusters rather than isolated tickets. In practice, the risk is not one vulnerability but the persistence of a shared execution model across multiple packages and release lines.
Source-code disclosure is often an identity problem in disguise. When source material contains secrets, connection strings, or embedded credentials, code exposure becomes a non-human identity governance issue as well as an application security issue. That is why secret location, rotation discipline, and code scanning belong in the same review cycle as dependency patching.
Runtime availability controls need to be part of secure dependency management. The DoS finding is a reminder that application security is not only about confidentiality and integrity. Where a server component can be pushed into an infinite loop, teams need rate controls, isolation boundaries, and service-level containment to protect critical workflows. Practitioners should treat availability failure as an architectural exposure, not just an operational inconvenience.
Patch propagation is the real control gap in ecosystems built on shared libraries. The article’s version matrix shows that fixes arrived across multiple React and Next.js releases, which creates a governance burden for platform teams tracking mixed estates. The practical conclusion is straightforward: dependency inventory, version assurance, and fix validation need to be continuous, because library-level exposure can persist long after a public advisory.
Secret exposure paths should be mapped to the NHI lifecycle, not handled as incidental code hygiene. If code disclosure can reveal API keys or service credentials, those secrets need offboarding, rotation, and ownership controls that are visible to both application and identity teams. That is the point where application security and NHI governance converge, and practitioners should close that loop before the next follow-on issue appears.
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.
- 91.6% of secrets remain valid five days after the targeted organisation is notified, showing a critical gap in remediation procedures.
- Use 52 NHI Breaches Analysis to see how exposed secrets and delayed response turn code issues into real intrusion paths.
What this signals
Code exposure becomes an identity-governance issue when secrets live inside application source. Teams cannot separate framework remediation from credential hygiene if a disclosure path can surface tokens, keys, or internal endpoints. The practical signal is simple: any application that stores secrets in code has converted a software bug into a non-human identity exposure window, and that window needs both rotation discipline and inventory control.
Dependency risk is moving from patch management to runtime assurance. Server-component ecosystems make it easy for adjacent packages to inherit the same failure pattern, so the next control question is not only whether a version is fixed, but whether the fix is actually deployed across all delivery paths. For teams operating under NIST SP 800-53 Rev 5 Security and Privacy Controls and CIS Controls v8, the lesson is to align dependency assurance with access and integrity checks, not treat them as separate programmes.
Blast-radius control is now part of application security for identity-adjacent services. When a framework issue can delay service or expose source, the response must include routing limits, isolation, and secret-lifecycle review in the same workflow. That is especially important where application code touches authentication flows, service credentials, or API integrations, because the operational fault can become an NHI fault before it becomes a breach.
For practitioners
- Inventory affected React Server Components dependencies Identify every instance of react-server-dom-parcel, react-server-dom-turbopack, react-server-dom-webpack, and dependent Next.js versions across build and runtime environments, then confirm whether the fixed versions are actually deployed in production and staging.
- Search for secrets in server-component source paths Review server functions and inline code for hardcoded credentials, tokens, and connection strings that could be exposed through stringification or disclosure paths, and rotate any discovered secrets immediately.
- Contain high-risk routes with availability guardrails Apply rate limiting, request throttling, and workload isolation to routes that exercise vulnerable server-component code so a crafted request cannot monopolise CPU across shared services.
- Validate fixes against both React and Next.js releases Treat patching as a paired task because the article shows React and Next.js release streams were remediated separately. Confirm version alignment in dependency manifests, lockfiles, and build artefacts before closing remediation.
Key takeaways
- These React Server Components flaws show that follow-on issues after a headline vulnerability can still create meaningful risk, especially in specific deployment patterns.
- The strongest evidence of impact is not just denial of service but the possibility that source disclosure can expose embedded secrets and other non-human identities.
- Teams should treat dependency patching, secret inventory, and runtime containment as one remediation problem rather than separate tasks.
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 | TA0006 , Credential Access; TA0040 , Impact | Source disclosure can expose credentials, while the DoS issue creates direct impact through service disruption. |
| NIST CSF 2.0 | PR.AC-4 | Access control and least privilege matter when application code can expose embedded secrets. |
| NIST SP 800-53 Rev 5 | IA-5 | Authenticator management applies when source disclosure can reveal credentials and tokens. |
| CIS Controls v8 | CIS-5 , Account Management | Account and credential governance is relevant if code disclosure exposes service accounts or API tokens. |
| NIST AI RMF | MANAGE | The article is about operational risk treatment, which maps to AI RMF's manage function only indirectly. |
Review applications for overexposed secrets and enforce least privilege around services and build pipelines.
Key terms
- React Server Components: React Server Components are a rendering model that moves part of component execution to the server instead of the browser. That shifts security boundaries because server-side code, data access, and serialization can all influence what reaches the client and what can be exposed if the runtime is vulnerable.
- Source code disclosure: Source code disclosure is the unintended exposure of application source, logic, or embedded data to an attacker or unauthorised party. It becomes especially serious when the code contains secrets, internal endpoints, or implementation details that make later compromise easier.
- Distributed Denial-of-Service: A distributed denial-of-service attack uses many sources to send enough traffic to a target that legitimate users can no longer get through. The purpose is not theft but disruption, and the defender's problem is service exhaustion at the network or application edge.
- Non-Human Identity (NHI): A digital identity assigned to a non-human entity such as a software application, service account, API key, bot, machine, or AI agent that enables it to authenticate and interact with systems without direct human involvement. NHIs now outnumber human identities in most enterprises by 25 to 50 times.
What's in the full analysis
Semgrep's full article covers the operational detail this post intentionally leaves for the source:
- Patch mapping across every affected React and Next.js release line, including the exact versions that received fixes.
- Example detection rules for source code disclosure and denial-of-service conditions in Semgrep Supply Chain.
- The concrete preconditions needed for CVE-2025-55183 to expose source material in a server component.
- Version-by-version guidance for identifying whether your application stack still carries the vulnerable dependency chain.
👉 The full Semgrep post covers affected versions, exploitation conditions, and patch guidance.
Deepen your knowledge
The NHI Foundation Level course, the industry's only accredited NHI security programme, covers NHI governance, secrets management, and workload identity. It helps security and identity practitioners connect application exposure to credential lifecycle control across the programme.
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