Summary
React Router: Arbitrary Constructor Injection via deserializeErrors() in React Router SSR Hydration
Advisory details
If application code allows attacker supplied input to overwrite certain aspects of errors caught by the SSR process, then it was possible for attacker to trigger unexpected constructor execution on the client which would trigger outbound network traffic. This is only possible with very specific (and unlikely) application layer code.
[!NOTE] This does not impact your application if you are using Declarative Mode. This only impacts Framework Mode and Data Mode applications doing manual SSR/hydration
References
- https://github.com/advisories/GHSA-337j-9hxr-rhxg
- https://github.com/remix-run/react-router/security/advisories/GHSA-337j-9hxr-rhxg
- https://github.com/remix-run/react-router/pull/15175
- https://github.com/remix-run/react-router/commit/9d22943fd46c8ae4b08236425fa3549e10e9ad1a
- https://github.com/remix-run/react-router/blob/main/CHANGELOG.md#v7180
- https://github.com/remix-run/react-router/releases/tag/react-router@7.18.0
Related vulnerabilities
All Supply chain →- CRITICALCVE-2026-55559
Yamcs vulnerable to Remote Code Execution via instance-template argument YAML injection (createInstance)
- MEDIUMCVE-2026-54614
cakephp/debug_kit: MailPreview contains unsafe reflection
- HIGHCVE-2026-68508
Hydra: hydra.utils.instantiate with untrusted config can lead to code execution
- CRITICALCVE-2026-55107
kobako Sandbox Escape: guest eval reaches host RCE via method_missing → public_send (any bound Service)
- HIGHCVE-2026-63337
RabbitMQ Java client: Unvalidated Class.forName in JSON-RPC ProcedureDescription enables arbitrary class loading
- HIGHCVE-2026-55153
mchange-commons-java contains elements susceptible to abuse via JNDI injection and "deserialization gadgets"