React2Shell Under Fire: Inside CVE-2025-55182, the Fake PoCs, the Real Attacks, and the Global Exploitation Wave

Listen to this Post

Featured Image

Introduction

The security world has seen many zero-days shake the internet, but few have ignited the kind of chaos triggered by CVE-2025-55182. A perfect storm of real exploitation, fake proof-of-concepts, mass-scanning, and misunderstood technical details turned the React Server Components ecosystem into an active battleground. What unfolded was not just a vulnerability disclosure, but a worldwide scramble where defenders, researchers, malware authors, and opportunistic botnets collided in real time. This article breaks down that chaos, reveals how the exploit truly works, and unpacks the escalating threat landscape that formed in the days following its publication.

Main Summary

CVE-2025-55182 is a CVSS 10.0 pre-authentication remote code execution flaw that affects React Server Components, including implementations in React.js and Next.js. It strikes at the heart of the RSC serialization protocol known as React Flight. By manipulating how chunked data is deserialized, attackers can escape intended boundaries and execute arbitrary commands inside the Node.js runtime long before authentication occurs.

The vulnerability lives inside the reviveModel function of ReactFlightReplyServer.js, where React originally attempted to check object ownership by trusting value.hasOwnProperty. Because the vulnerable code asked the object itself whether a property was safe, attackers could replace the hasOwnProperty method, hijack prototype behavior, and climb into the JavaScript Function constructor. This opened the door to arbitrary code execution, complete with filesystem access, environment variables, and full process privileges.

Exploitation is achieved through a four-step chain: creating a self-reference loop using the $@ prefix, forcing JavaScript to call attacker-controlled code by abusing the .then() mechanism, injecting malicious data to pass React’s initialization logic, and triggering the blob handler via the $B prefix to execute arbitrary commands through the Function constructor. A minimum viable exploit can fit inside a single HTTP request, making the attack highly accessible even to low-skill actors.

Once the vulnerability became public, the internet erupted with more than 145 circulating PoCs, many of them fake or incomplete. At the same time, real attackers moved swiftly. Trend Research confirmed exploitation in the wild from multiple campaigns, including emerald and nuts, both of which delivered botnets, Mirai variants, and automated scanning tools. Additional actors deployed Cobalt Strike beacons, Sliver implants, Nezha monitoring agents, Fast Reverse Proxy backdoors, Go-based backdoors, and cryptominer droppers targeting Linux and Windows systems alike.

The timeline of exploitation reveals that attacks began within hours of disclosure. By December 5 through December 7, the internet experienced a measurable spike in real-world compromise attempts. Attackers leveraged shared hosting, cloud infrastructure, and direct-to-IP payload delivery. Some payloads were clearly AI-generated, containing verbose comments, placeholder hashes, and incorrect verification logic.

One of the most sophisticated payloads, named “Secret-Hunter,” used TruffleHog and Gitleaks to extract secrets from victim servers. It scanned Git repositories, Docker layers, cloud metadata services, and sensitive system files, exfiltrating results through Cloudflare Tunnels. This marked a rare moment where cybercriminals weaponized defensive tooling to conduct credential harvesting at scale.

The patch released by React introduced multiple defense layers. The core fix replaced value.hasOwnProperty with a cached reference to Object.prototype.hasOwnProperty using .call(), preventing attackers from shadowing the method. Additional modifications addressed proto handling, tightened prototype validation, added encryption to Server Action payloads, and enforced safer data structures across the RSC pipeline.

Patched versions are now available across React and Next.js. Organizations running public RSC endpoints are urged to patch immediately and monitor infrastructure for mass-scanning attempts, exploitation attempts, or signs of compromise from the campaigns detailed above.

What Undercode Say:

Understanding CVE-2025-55182 requires more than recognizing it as another RCE. It’s a window into how modern JavaScript architectures can unravel when trust boundaries blur between serialization, prototype inheritance, and dynamic execution. React Server Components introduced a powerful model, but with that power came tight coupling between client-provided data and server-side logic. The vulnerability exploited that coupling at its weakest point: trusting user input for property validation.

The exploit chain succeeds because JavaScript is flexible to a fault. Features like duck-typing, prototype inheritance, and the Function constructor make the language incredibly dynamic, but they also create fertile ground for exploitation when deserialization routines fail to enforce strict boundaries. Attackers didn’t exploit a complicated memory corruption bug. They simply manipulated JavaScript the way JavaScript allows itself to be manipulated.

The in-the-wild activity paints a bigger picture. React2Shell was not treated as an academic exercise; it became part of the real exploitation economy within hours. Two things happened at once: legitimate researchers scrambled to test their systems with PoCs, while threat actors deployed fully weaponized campaigns. The sheer range of payloads demonstrates how flexible this RCE vector is. From Mirai bots to Cobalt Strike beacons, from FRP proxies to cryptominers, attackers tailored post-exploitation stages depending on their goals and the victim’s environment.

One of the most disturbing aspects is the “Secret-Hunter” payload. Its use of TruffleHog and Gitleaks represents a shift in attacker methodology. Rather than writing custom scanners, adversaries now repurpose mature, battle-tested security tools to quickly locate high-value secrets. This marks the evolution of threat actors into hybrid operators who leverage both offensive and defensive technologies to maximize impact.

The patch analysis highlights another critical truth: modern frameworks are incredibly complex, and even small flaws in utility functions can lead to catastrophic outcomes. The fix required hundreds of lines of changes across multiple packages, reinforcing that serialization and deserialization code must be treated as high-risk attack surfaces.

From a defensive standpoint, organizations must assume that if they ran vulnerable versions of React or Next.js during the initial exploitation window, they were likely scanned, probed, or targeted. Indicators of compromise should be reviewed carefully, especially those relating to server processes, unauthorized systemd services, outbound connections to suspicious controllers, and unexpected binaries in /tmp, /dev/shm, or user directories. The diversity of post-exploitation tools means defenders can’t rely on a single indicator or behavior.

This vulnerability serves as a reminder that JavaScript-based backend architectures require rigorous threat modeling. Developers must treat deserialization paths as critical components, not utilities. Security teams must expect that attackers will continue pivoting to server-side JavaScript as more applications adopt frameworks like Next.js 13+ and React Server Components. And organizations must recognize that the next major RCE may follow the same pattern: a structural flaw in a widely trusted abstraction, amplified by the internet’s appetite for automated exploitation.

🔍 Fact Checker Results

✅ CVE-2025-55182 is confirmed as a pre-authentication RCE exploited in the wild.

✅ Multiple malware campaigns, including Mirai variants and Cobalt Strike, have been observed using this vulnerability.

❌ Fake and incomplete PoCs circulating online do not represent valid exploit behavior and often mislead defenders.

📊 Prediction

Over the next few months, attackers will continue weaponizing this vulnerability as long as unpatched systems remain exposed. 📈
Expect automated botnets, cryptominer campaigns, and opportunistic scanners to keep targeting RSC infrastructure as part of their default scanning routines. 🔎
Given the rapid adoption of React Server Components, future zero-days may follow similar patterns unless serialization and deserialization mechanisms undergo stricter hardening. ⚠️

🕵️‍📝✔️Let’s dive deep and fact‑check.

References:

Reported By: www.trendmicro.com
Extra Source Hub (Possible Sources for article):
https://www.instagram.com
Wikipedia
OpenAi & Undercode AI

Image Source:

Unsplash
Undercode AI DI v2
Bing

🔐JOIN OUR CYBER WORLD [ CVE News • HackMonitor • UndercodeNews ]

💬 Whatsapp | 💬 Telegram

📢 Follow UndercodeNews & Stay Tuned:

𝕏 formerly Twitter 🐦 | @ Threads | 🔗 Linkedin | 🦋BlueSky | 🐘Mastodon