Skip to content
KitploitKITPLOIT
ToolsBlog
Submit
ToolsBlog
Submit

Hacking, PenTest, and Cybersecurity Tools for Your Security Arsenal!

Kitploit is a directory of hacking, cybersecurity, and pentesting tools. Discover the latest project updates to find vulnerabilities, analyze systems, automate testing, and strengthen your security.

··Feeds·Contact·Privacy·© 2026 Kitploit

Tool Directory

Categories

View all categories
Loading categories
React2Shell-CVE-2025-55182-original-poc — Original proof-of-concept exploits for React2Shell (CVE-2025-55182), demonstrating remote code execution in Next.js applications via Webpack chunk parsing vulnerabilities. | Kitploit
Tools/GitHubGitHub/lachlan2k/react2shell-cve-2025-55182-original-poc
Exploit FrameworksVulnerability AnalysisCode AnalysisWeb Application ExploitationPenetration TestingPayload Development
GitHublachlan2k/react2shell-cve-2025-55182-original-poc

React2Shell-CVE-2025-55182-original-poc

Original proof-of-concept exploits for React2Shell (CVE-2025-55182), demonstrating remote code execution in Next.js applications via Webpack chunk parsing vulnerabilities.

View Repository
1.1k10949 months agoReviewed by Kitploit

Most Popular

View all →

Discover the most used tools by our community.

Explore all tools

Browse our collection of tools

View all tools →
Share

Original PoCs for CVE-2025-55182

As public PoCs are circulating and Google's Scanner uses a variation of my original submitted PoC, it's finally a responsible time to share my original PoCs for React2Shell.

This repository contains 3 PoCs:

  • 00-very-first-rce-poc - the very first PoC I managed to develop for RCE. Only directly works on dev builds of Next.js sites that use Webpack.
  • 01-submitted-poc.js (the main one) - the exact PoC I submitted to Meta, far simpler and effective
  • 02-meow-rce-poc - the PoC hashed and posted as proof by Sylvie on November 29th, shortly before initial disclosure to Meta

TL;DR

Many other people have explained their PoCs, but here's my very brief explainer:

  • $@x gives you access to a Chunk
  • We plant its on our own object
then
  • The JS runtime automatically unravels nested promises (really, anything with a .then function)
  • We now re-enter the parser, but with control of a malicious fake Chunk object
  • Planting things on _response lets us access a lot of gadgets when this happens
  • (insert several options here)
  • RCE
  • Some Differences in PoC

    You might notice my PoC has a funny thing going on in then. This was a nice primitive I was using for 'chaining' multiple chunks together, where resolve is passed to Array.map to let me "hop" to another chunk defined in $0.

    The publicly recreated PoC circulating doesn't do this, as it's not necessary when just doing a single jump. It was nice to see that the re-created PoC did otherwise use the same _formData gadget that mine did - but the 00- PoC is a wild ride, if you dare try to read it :)

    Full Writeup

    Soon.

    Download Tool