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
vuln-app-CVE-2025-55182 — Intentionally vulnerable Next.js application demonstrating CVE-2025-55182 RCE via unsafe deserialization in React Server Components. Includes exploit scripts and scanner integration for security research and education. | Kitploit
Tools/GitHubGitHub/zack0x01/vuln-app-cve-2025-55182
Vulnerability AnalysisCode AnalysisExploitationWeb Application ExploitationPenetration TestingLearning & EducationPayload DevelopmentLabs & Practice
GitHub
zack0x01/vuln-app-cve-2025-55182

vuln-app-CVE-2025-55182

Intentionally vulnerable Next.js application demonstrating CVE-2025-55182 RCE via unsafe deserialization in React Server Components. Includes exploit scripts and scanner integration for security research and education.

View Repository
20819 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

Vulnerable Next.js RSC Application - CVE-2025-55182

⚠️ WARNING: This application is intentionally vulnerable for educational and security research purposes only. DO NOT deploy to production or expose to the internet.

Overview

This is a vulnerable Next.js application that demonstrates CVE-2025-55182, a critical Remote Code Execution vulnerability in React Server Components. The application is designed to look like a professional cloud hosting dashboard while being intentionally vulnerable for security testing and educational purposes.

CVE Details:

  • CVE ID: CVE-2025-55182
  • Severity: Critical (CVSS 9.5)
  • Affected Versions: React 19.0.0, 19.1.0, 19.1.1, 19.2.0
  • Impact: Unauthenticated remote code execution via unsafe deserialization
  • Reference: ProjectDiscovery CVE-2025-55182

🎯 Features

  • Vulnerable React 19.0.0 - Uses the vulnerable version of React Server Components
  • Professional UI - Cloud hosting dashboard interface
  • Server Actions - Demonstrates the vulnerable server action endpoint
  • Exploit Script - Included curl_id.sh for testing the vulnerability

📋 Requirements

  • Node.js 18+
  • npm or yarn
  • Python 3.9+ (for react2shell-scanner, optional)

🚀 Setup

  1. Install dependencies:
root@kitploit:~
npm install --legacy-peer-deps
  1. Run the development server:
root@kitploit:~
npm run dev

The application will be available at http://localhost:3000

🧪 Testing the Vulnerability

Method 1: Using the Included Exploit Script

The repository includes curl_id.sh, a command-line tool based on the Nuclei template for exploiting CVE-2025-55182.

Usage:

root@kitploit:~
# Execute id command (default)
./curl_id.sh -d localhost:3000 -c id

# Execute custom commands
./curl_id.sh -d localhost:3000 -c "whoami"
./curl_id.sh -d localhost:3000 -c "uname -a"
./curl_id.sh -d localhost:3000 -c "ls -la /tmp"

# Test remote domains (if vulnerable)
./curl_id.sh -d vulnapp.com -c id

Options:

  • -d, --domain: Target domain/URL (default: http://localhost:3000)
  • -c, --command: Command to execute (default: id)

Method 2: Using react2shell-scanner

  1. Clone the scanner tool:
root@kitploit:~
git clone https://github.com/assetnote/react2shell-scanner.git
cd react2shell-scanner
pip install -r requirements.txt
  1. Run the scanner:
root@kitploit:~
python3 scanner.py -u http://localhost:3000
  1. Use safe check mode (no RCE execution):
root@kitploit:~
python3 scanner.py -u http://localhost:3000 --safe-check

Method 3: Manual Testing

The vulnerability can be exploited by sending a crafted multipart POST request to the server with:

  • Next-Action: x header
  • X-Nextjs-Request-Id header
  • X-Nextjs-Html-Request-Id header
  • A malicious multipart form payload that exploits the deserialization vulnerability

See the react2shell-scanner repository for the exact payload structure.

🔍 How It Works

The vulnerability exists in React Server Components' deserialization mechanism. When Next.js processes server actions, it deserializes the request payload. The vulnerable versions of React (19.0.0-19.2.0) do not properly validate or sanitize the deserialized data, allowing attackers to:

  1. Craft malicious payloads that exploit prototype pollution
  2. Execute arbitrary code on the server via process.mainModule.require('child_process').execSync()
  3. Achieve remote code execution without authentication
  4. Retrieve command output in the X-Action-Redirect response header

Technical Details

The exploit uses a prototype pollution attack in the JSON deserialization process. The payload structure includes:

  • A then property that pollutes the prototype chain
  • A _response object with a _prefix field containing JavaScript code
  • The code executes via execSync() and redirects output to the response header

🛡️ Remediation

To fix this vulnerability:

  1. Update React to version 19.2.1 or later:
root@kitploit:~
npm install react@latest react-dom@latest
  1. Update Next.js to the latest version:
root@kitploit:~
npm install next@latest
  1. Review and update all dependencies:
root@kitploit:~
npm audit fix
  1. Verify the fix by running the scanner again - it should no longer detect the vulnerability

📁 Project Structure

root@kitploit:~
vuln-app-CVE-2025-55182/
├── app/
│   ├── actions.ts          # Vulnerable server action
│   ├── layout.tsx          # Root layout
│   └── page.tsx            # Main dashboard page
├── node_modules/           # Dependencies
├── curl_id.sh              # Exploit script for testing
├── package.json            # Project dependencies (vulnerable versions)
├── tsconfig.json           # TypeScript configuration
├── next.config.js          # Next.js configuration
├── .gitignore              # Git ignore rules
└── README.md               # This file

📚 References

  • CVE-2025-55182 Details
  • react2shell-scanner
  • React Security Advisory
  • Next.js Security Advisory
  • Vercel Changelog
  • Original PoC by maple3142

⚖️ Legal Disclaimer

This application is created solely for security research and educational purposes.

  • DO NOT use this application in production environments
  • DO NOT deploy this application to public servers
  • DO NOT use this to attack systems without explicit authorization
  • DO use this only in isolated, controlled environments for learning

The authors and contributors are not responsible for any misuse of this code. Unauthorized access to computer systems is illegal and may result in criminal prosecution.

🤝 Contributing

This is an educational repository. Contributions that improve documentation, add better examples, or enhance the educational value are welcome.

📝 License

This project is provided for educational purposes. Use at your own risk.

🙏 Credits

  • Assetnote Security Research Team - Original vulnerability research and scanner tool
  • maple3142 - Original RCE PoC disclosure
  • xEHLE_ - RCE output reflection in response header
  • Nagli - Additional research contributions
  • ProjectDiscovery - Nuclei template for detection

Remember: This is a vulnerable application. Use responsibly and only in controlled environments for security research and education.

Download Tool