Critical “React2Shell” Vulnerability in React Server Components (CVE‑2025‑55182)
1. What just happened?
On December 3, 2025, the React team disclosed a critical unauthenticated Remote Code Execution (RCE)vulnerability in React Server Components / React Server Functions, tracked as CVE‑2025‑55182 and rated CVSS 10.0. The bug sits in how React decodes/deserializes payloads sent to Server Function endpoints. A malicious request can be crafted so that, when React deserializes it, the attacker gains code execution on your server.
Even if your app doesn’t explicitly define any Server Function endpoints, you may still be vulnerable as long as your framework/bundler supports React Server Components.
2. Why people are calling it “React2Shell”
Security researchers quickly nicknamed the bug React2Shell because:
Same vibe as Log4Shell: easy to automate, huge blast radius.
3. Affected versions and ecosystem blast radius
The vulnerable packages are:
Impacted versions include React 19.0.x, 19.1.x, and 19.2.0 lines before patches.
Affected frameworks/bundlers include (not limited to):
If you ship RSC or Server Actions through any of these, assume exposure until proven otherwise.
4. What attackers are doing right now
AWS threat intelligence observed exploitation attempts within hours of public disclosure, primarily from China‑nexus groups such as Earth Lamia and Jackpot Panda, plus other unattributed clusters.
Two big takeaways:
Bottom line: if you’re unpatched, you’re already being probed.
5. Immediate remediation (do this first)
Patch React / framework packages now
React shipped fixes in:
If you’re on Next.js, upgrade to the patched release for your line:
If you were on Next 14 canary builds, downgrade to stable Next 14.
Temporary mitigations (not a replacement for patching)
Treat these as a seatbelt, not the brakes.
6. Indicators of Compromise / Attack (React2Shell IOCs & IOAs)
Public feeds don’t yet have stable IP or hash IOCs (infra rotates fast). So the best detection right now is request‑level + behavior‑level indicators.
Recommended by LinkedIn
6.1 Network / HTTP request IOCs (high confidence)
A) Unexpected server‑action headers from the internet Flag any external request containing:
These headers normally appear only during legit Server Action calls from your app. Seeing them from random IPs/UAs is a strong exploit indicator.
B) POSTs to page routes (not your API routes) React2Shell payloads often ride POSTs to “page” URLs like:
…instead of POST /api/*.
C) Opaque / Flight‑style bodies with anomaly traits Look for POST bodies that are:
6.2 Application log IOCs / IOAs
6.3 Host / runtime post‑exploitation indicators
Because this is RCE, post‑exploitation looks like generic Node‑RCE tradecraft:
A) Node spawning shell/network tools Alert if parent process is node/next and child is:
B) Dropped files Hunt for new files in:
C) New outbound egress
6.4 Quick hunt filters (adapt to Splunk/KQL/ELK)
CDN/WAF/LB logs
Runtime telemetry
7. What to do if you suspect exploitation
8. Closing thought
React2Shell is a big, ecosystem‑level reminder that modern web stacks are supply chains. If you’re on React 19 + RSC or on Next 15/16 App Router, patching is not optional — it’s survival.
#React2Shell #CVE202555182 #ReactServerComponents #ReactServerActions #NextJS #ReactJS #JavaScript #NodeJS #Infopercept
I concur! https://www.garudax.id/posts/zapagi_we-stopped-a-cyberattack-this-morning-react2shell-activity-7403439179856101377-lMHu?utm_source=share&utm_medium=member_desktop&rcm=ACoAABlSWEwBKsGmPhKmlZlfDaxsMnGa3OBr19Y