TL;DR: React2Shell highlights how embedding powerful deserialisation and protocol interpreters in request paths can turn developer convenience into remote code execution risk, according to Pixee’s analysis of the CVE-2025-55182 pattern and the older Struts OGNL failure mode. The lesson is that architectural trust boundaries matter before a CVE does, because abstract risk becomes concrete exploitability quickly.
NHIMG editorial — based on content published by Pixee: React2Shell: The Next Struts2-Style Bug Parade?
Questions worth separating out
Q: What breaks when request-path interpreters are not tightly bounded?
A: The boundary between data and code collapses.
Q: Why does PQC planning matter to IAM and PAM teams?
A: Because authentication, privileged access, and workload trust all depend on cryptographic primitives that may need post-quantum replacement.
Q: How can security teams know whether a framework pattern is becoming dangerous?
A: Look for repeated coupling of request handling with interpreters, decoders, or module-loading behaviour.
Practitioner guidance
- Review request-path interpreter exposure Inventory frameworks and middleware where user input can reach expression engines, deserialisers, or function invocation logic.
- Add architectural pattern checks to AppSec review Create a review step for interpreter-heavy designs such as OGNL-style evaluation, unsafe deserialisation, and server-function decoding.
- Map RCE blast radius to identity assets Assume any server-side execution bug can expose API keys, service account tokens, and session material.
What's in the full article
Pixee's full article covers the code-level and historical detail this post intentionally leaves for the source:
- A closer comparison between React2Shell and Struts OGNL failures that shows how the same risk pattern recurs across framework generations.
- Specific references to CVE-2025-55182, the affected React and Next.js configurations, and why the bug is being treated as concrete exploit risk.
- The article's discussion of abstract versus concrete risk, including how teams may miss architectural danger until exploitation begins.
- Pixee's framing of why storytelling and metaphor matter when AppSec teams try to communicate latent framework risk to management.
👉 Read Pixee's analysis of React2Shell and the request-path interpreter risk →
React2Shell and request-path interpreters: are your controls keeping up?
Explore further
Interpreter-heavy request paths create a concrete governance blind spot. The article shows that teams often separate application design risk from identity and access risk, even when a parser can reach privileged server execution. That is a mistake because any unauthenticated execution path can bypass the assumptions behind authentication, authorisation, and session control. Practitioners should treat these frameworks as trust-boundary decisions, not just code-quality concerns.
A question worth separating out:
Q: Should organisations treat active exploitation differently from abstract design risk?
A: Yes. Active exploitation demands immediate containment and patching, but abstract design risk should still trigger architecture review, because the same pattern can reappear in new frameworks. Mature programmes do both: they close the live hole and reduce the chance of the next one.
👉 Read our full editorial: React2Shell shows why protocol interpreters in request paths become RCE risks