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-scanner-rce-react-next-CVE-2025-55182-CVE-2025-66478 — Scanner for CVE-2025-55182 (React) and CVE-2025-66478 (Next.js) - Track and remediate a critical React Server Components (RSC) / Flight protocol vulnerability campaign impacting react-server-dom-webpack, react-server-dom-parcel, react-server-dom-turbopack, and RSC-enabled frameworks like Next.js. | Kitploit
Tools/GitHubGitHub/security-phoenix-demo/react2shell-scanner-rce-react-next-cve-2025-55182-cve-2025-66478
Vulnerability ScannersWeb Vulnerability ScannersCode AnalysisExploitationWeb SecurityPenetration TestingSupply Chain SecurityLearning & EducationLabs & Practice
GitHubsecurity-phoenix-demo/react2shell-scanner-rce-react-next-cve-2025-55182-cve-2025-66478

react2shell-scanner-rce-react-next-CVE-2025-55182-CVE-2025-66478

View Repository
6346 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 →

About

Scanner for CVE-2025-55182 (React) and CVE-2025-66478 (Next.js) - Track and remediate a critical React Server Components (RSC) / Flight protocol vulnerability campaign impacting react-server-dom-webpack, react-server-dom-parcel, react-server-dom-turbopack, and RSC-enabled frameworks like Next.js.

Share

🔍 Phoenix SCA Scanner - Universal - Version for CVE-2025-55182-CVE-2025-66478 React and Nexus Vulnerability

EXTERNAL Vulnerability for React2Shell class of bugs: two freshly disclosed, unauthenticated remote code execution vulnerabilities in the React Server Components (RSC) "Flight" protocol—CVE-2025-55182 (React) and CVE-2025-66478 (Next.js), both rated CVSS 10.0. These issues live in how RSC/Server Function endpoints decode attacker-controlled Flight payloads, turning a single crafted HTTP request into potential server-side code execution—even on "default" modern React/Next.js stacks using App Router and production builds. For many teams this is a "patch now, verify exposure, then audit" moment, not something to defer to a later dependency hygiene sprint. The LAB folder contains exploits and lab vulnerabilities for React2Shell

This project provides a two-pronged approach: (1) software composition / dependency risk scanning (this tool), to rapidly locate vulnerable libraries and versions, and (2) a web DAST scanner (React2Shell Web Scanner) that actively probes RSC/Flight endpoints from the outside, validating whether exploitable paths are reachable in running environments. Together, they help you answer both "where are the vulnerable components?" and "where can they actually be exploited in production?" so you can prioritize patching, hardening, and incident response with confidence.


🌐 Web Scanner - React2Shell RCE Detection

For live endpoint testing and RCE validation, see the dedicated web scanner:

📁 web-scan_CVE-2025-66478/ - Full documentation and guide

Quick Start - Web Scanner

root@kitploit:~
cd web-scan_CVE-2025-66478

# Install dependencies
pip install -r requirements.txt

# Scan a single target
python3 react2shell-scanner -u https://target.com -v

# Scan with evidence display
python3 react2shell-scanner -u https://target.com --show-evidence

# Batch scan with all export formats
python3 react2shell-scanner -l targets.txt -o results.json --csv results.csv --html report.html

# Test the exploit on vulnerable target (requires Python 3.11+)
python3.11 test-lab/exploit.py -u http://vulnerable-host:3000 -c "hostname"

Web Scanner Features

FeatureDescription
🔍 RCE DetectionArithmetic-based safe detection (no side effects)
🎯 Technology FingerprintingAuto-detect Next.js/React applications
📊 Multi-Format ExportJSON, CSV, HTML reports
🔗 IOC CorrelationMatch against 31+ known malicious IPs
🌐 Scale ScanningCIDR ranges, subdomain enumeration
☁️ Phoenix IntegrationUpload findings to Phoenix Security
💻 Exploit ToolExecute commands on vulnerable targets

Test Lab Setup

root@kitploit:~
cd web-scan_CVE-2025-66478/test-lab/lab

# Start vulnerable (3011) and patched (3012) instances
docker-compose up -d

# Test vulnerable instance
python3 react2shell-scanner -u http://localhost:3011 --show-evidence

Exploit Examples (Python 3.11+ required)

root@kitploit:~
cd web-scan_CVE-2025-66478/test-lab

# Install exploit dependencies
pip3.11 install -r requirements.txt

# Basic command execution
python3.11 exploit.py -u http://localhost:3011 -c "whoami"
# Output: nextjs

python3.11 exploit.py -u http://localhost:3011 -c "id"
# Output: uid=1001(nextjs) gid=65533(nogroup)

python3.11 exploit.py -u http://localhost:3011 -c "hostname"  
# Output: 99e28775bf80 (container ID)

# System enumeration
python3.11 exploit.py -u http://localhost:3011 -c "uname -a"
python3.11 exploit.py -u http://localhost:3011 -c "cat /etc/passwd"
python3.11 exploit.py -u http://localhost:3011 -c "env"

# Application recon
python3.11 exploit.py -u http://localhost:3011 -c "pwd"           # /app
python3.11 exploit.py -u http://localhost:3011 -c "ls -la"
python3.11 exploit.py -u http://localhost:3011 -c "cat package.json"
python3.11 exploit.py -u http://localhost:3011 -c "node --version"

🛡 React2Shell / Flight Protocol RCE – Vulnerability Overview

React2Shell is an unauthenticated remote code execution primitive against React Server Components (RSC) payload handling in the Flight protocol. In practice, this means a malicious client can send a single crafted HTTP request to an RSC/Server Function endpoint and, if a vulnerable version is in play, potentially turn a “web app” into a “server shell.”

At a high level:

  • Attacker-controlled Flight payloads are sent to endpoints involved in RSC / Server Function handling (e.g., in Next.js App Router deployments).
  • The server uses React’s Flight decoding and deserialization logic to turn that payload back into server-side data and instructions.
  • Insecure deserialization at this layer allows an attacker to influence server-side execution, escalating into full remote code execution (RCE).

Because this is unauthenticated RCE, default production setups are in scope—even if you never explicitly wrote a “server function” and simply adopted modern React/Next.js patterns. Hosting-level mitigations and generic WAFs should not be treated as your primary safety net: they may reduce exposure but won’t reliably compensate for vulnerable libraries. Treat this as an incident:

  • Patch React RSC server DOM packages and Next.js to the fixed releases.
  • Verify exposure by scanning codebases and SBOMs for the vulnerable versions.
  • Audit logs for suspicious requests to RSC/Flight-related endpoints and rotate secrets if you suspect compromise.

Once an attacker lands RCE via React2Shell, defenders should assume a familiar kill chain:

  • Environment discovery – enumerate runtime, file system layout, environment variables, and cloud metadata endpoints.
  • Secret hunting – collect .env files, deployment secrets, CI tokens, service credentials, and signing keys.
  • Persistence – drop webshell-like artifacts, modify server-side code, or implant scheduled tasks where possible.
  • Lateral movement – pivot into internal services, databases, queues, and cloud management APIs.
  • Supply-chain follow-on – if build or deploy credentials are present, move “upstream” into CI/CD and artifact registries.

If your DevSecOps pipeline has historically treated the web tier as “just a frontend,” this vulnerability is a concrete demonstration that frontend frameworks can carry deep server-side blast radius when RSC and streaming semantics are involved. Universal Vulnerability Scanner exists to help you rapidly answer “are we running the vulnerable packages anywhere?” and to feed that answer into Phoenix-driven campaigns and, soon, complementary web DAST validation of live RSC endpoints.

🎯 Features

SCA Scanner (This Tool)

  • ✅ Multi-Ecosystem Support - NPM (with extensibility for PyPI, Ruby Gems, etc.)
  • ✅ Intelligent Version Matching - Semver parsing with range-based detection
  • ✅ React Server Components (RSC) Detection - Specialized detection for RSC vulnerabilities
  • ✅ Lockfile Support - Parses package-lock.json, yarn.lock, pnpm-lock.yaml
  • ✅ Phoenix Integration - Upload findings to Phoenix Security platform
  • ✅ Comprehensive Testing - Sample vulnerable packages for validation
  • ✅ JSON/Text Reports - Flexible output formats
  • ✅ CLI Interface - Easy-to-use command-line tool

Web Scanner (web-scan_CVE-2025-66478/)

  • ✅ Live RCE Detection - Safe arithmetic-based vulnerability confirmation
  • ✅ Exploit Tool - Execute commands on vulnerable targets
  • ✅ IOC Database - 31+ malicious IPs, 16+ attack patterns
  • ✅ Scale Scanning - CIDR ranges, subdomain enumeration, batch scanning
  • ✅ Evidence Collection - Full request/response capture, HTML reports
  • ✅ Test Lab - Docker-based vulnerable/patched environment

📦 Installation

root@kitploit:~
# Install dependencies
pip install -r requirements.txt

# Run from project root
python -m universal_vulnerability_scanner.main --help

🚀 Quick Start

1. Scan a Project

root@kitploit:~
# Basic scan
python -m universal_vulnerability_scanner.main scan /path/to/project

# With JSON output
python -m universal_vulnerability_scanner.main scan /path/to/project --json --output results.json

# Quiet mode (only show summary)
python -m universal_vulnerability_scanner.main scan /path/to/project --quiet

2. Upload to Phoenix Security

root@kitploit:~
# Create Phoenix configuration template
python -m universal_vulnerability_scanner.main create-config

# Edit .phoenix.config with your credentials
# Then scan and upload
python -m universal_vulnerability_scanner.main scan /path/to/project --upload-phoenix

3. Run Tests

root@kitploit:~
# Test with included vulnerable samples
python -m universal_vulnerability_scanner.main test

📋 Vulnerability Database

The scanner uses a JSON-based vulnerability database located at:

root@kitploit:~
universal_vulnerability_scanner/data/vulnerability_database.json

Supported Vulnerabilities

React Server Components (RSC)

  • react-server-dom-webpack - Versions: 19.0.0, 19.1.0, 19.1.1, 19.2.0
  • react-server-dom-parcel - Versions: 19.0.0, 19.1.0, 19.1.1, 19.2.0
  • react-server-dom-turbopack - Versions: 19.0.0, 19.1.0, 19.1.1, 19.2.0

React Core

  • react - Vulnerable ranges: [19.0.0, 19.0.1), [19.1.0, 19.1.2), [19.2.0, 19.2.1)
  • react-dom - Same vulnerable ranges as react

Next.js

  • next - Vulnerable ranges: [15.0.0, 15.0.5), [16.0.0, 16.0.7)

Database Format

root@kitploit:~
{
  "metadata": {
    "version": "1.0.0",
    "last_update": "2025-12-04",
    "ecosystems": ["npm"]
  },
  "vulnerabilities": {
    "npm": {
      "package-name": {
        "exact_versions": ["1.0.0", "1.0.1"],
        "vulnerable_ranges": [
          {"min": "1.0.0", "max": "1.0.2", "severity": "CRITICAL"}
        ],
        "safe_versions": ["1.0.2+"],
        "cve_ids": ["CVE-2025-XXXX"],
        "description": "Vulnerability description",
        "references": ["https://..."]
      }
    }
  }
}

🔧 Configuration

Phoenix Security Integration

Create .phoenix.config:

root@kitploit:~
[phoenix]
client_id = your_client_id_here
client_secret = your_client_secret_here
api_base_url = https://api.securityphoenix.cloud
assessment_name = Universal Vulnerability Scanner - RSC Detection
import_type = new

Or use environment variables:

root@kitploit:~
export PHOENIX_CLIENT_ID="your_client_id"
export PHOENIX_CLIENT_SECRET="your_client_secret"
export PHOENIX_API_URL="https://api.securityphoenix.cloud"

📊 Output Formats

Text Report

root@kitploit:~
================================================================================
UNIVERSAL VULNERABILITY SCANNER REPORT
================================================================================
Scan completed: 2025-12-04 10:30:00

SUMMARY:
----------------------------------------
Total findings: 12
  VULNERABLE:  3
  SAFE:        2
  CLEAN:       5
  REVIEW:      2

🚨 VULNERABLE PACKAGES DETECTED
================================================================================

1. [email protected]
   File: /path/to/project/package.json
   Reason: Exact match with known vulnerable version 19.0.0
   ✅ Safe version: 18.99.99
   CVE: CVE-2025-RSC-001

JSON Report

root@kitploit:~
[
  {
    "path": "/path/to/project/package.json",
    "kind": "package.json",
    "package": "react-server-dom-webpack",
    "version": "19.0.0",
    "verdict": "VULNERABLE",
    "reason": "Exact match with known vulnerable version 19.0.0",
    "severity": "CRITICAL",
    "vulnerable_versions": ["19.0.0", "19.1.0", "19.1.1", "19.2.0"],
    "safe_version": "18.99.99",
    "cve_ids": ["CVE-2025-RSC-001"],
    "timestamp": "2025-12-04T10:30:00"
  }
]

🧪 Test Samples

The scanner includes comprehensive test samples in test_samples/:

Test CaseDescriptionExpected Results
rsc_vulnerable_exact/Exact vulnerable versions4 VULNERABLE
rsc_vulnerable_range/Version ranges4 VULNERABLE
rsc_safe_versions/Patched safe versions6 SAFE
rsc_mixed/Mix of vulnerable/safe/clean2 VULNERABLE, 1 SAFE, 4 CLEAN
rsc_with_lockfile/Lockfile parsing2 VULNERABLE, 1 CLEAN

Run tests:

root@kitploit:~
python -m universal_vulnerability_scanner.main test

🏗️ Architecture

root@kitploit:~
universal_vulnerability_scanner/
├── core/
│   └── version_parser.py       # Semver parsing & comparison
├── models/
│   ├── finding.py              # Finding data model
│   └── vulnerability.py        # Vulnerability database model
├── scanners/
│   ├── base_scanner.py         # Abstract scanner interface
│   └── npm_scanner.py          # NPM ecosystem scanner
├── integrations/
│   └── phoenix_uploader.py     # Phoenix API client
├── data/
│   └── vulnerability_database.json  # Vulnerability definitions
├── test_samples/               # Test cases
└── main.py                     # CLI entry point

🔐 Security Considerations

  1. No False Negatives: Scanner errs on the side of caution
  2. Version Normalization: Handles NPM version specifiers (^, ~, =)
  3. Range Detection: Detects vulnerabilities within version ranges
  4. Lockfile Priority: Prefers resolved versions from lockfiles
  5. Safe Version Recommendations: Suggests upgrade paths

🚀 Extending the Scanner

Adding New Ecosystems

  1. Create new scanner in scanners/ inheriting from BaseScanner
  2. Implement ecosystem-specific parsing
  3. Add vulnerabilities to database under new ecosystem key

Example:

root@kitploit:~
from .base_scanner import BaseScanner

class PyPIScanner(BaseScanner):
    def _get_ecosystem(self) -> str:
        return "pypi"
    
    def scan_path(self, root: Path) -> List[Finding]:
        # Implement PyPI scanning logic
        pass

Adding New Vulnerabilities

Edit data/vulnerability_database.json:

root@kitploit:~
{
  "npm": {
    "new-vulnerable-package": {
      "exact_versions": ["1.0.0"],
      "vulnerable_ranges": [{"min": "1.0.0", "max": "1.0.5", "severity": "HIGH"}],
      "safe_versions": ["1.0.5+"],
      "cve_ids": ["CVE-2025-XXXX"],
      "description": "Vulnerability description"
    }
  }
}

📈 Exit Codes

  • 0 - Scan successful, no vulnerabilities found
  • 1 - Scan successful, vulnerabilities found
  • 2 - Scan failed (invalid input, database error, etc.)

🤝 Integration with Existing Systems

Phoenix Security Platform

Automatically uploads findings to Phoenix with:

  • Asset creation per scanned repository
  • Vulnerability findings with CVSS scoring
  • Tags for categorization
  • CVE references

CI/CD Pipeline

root@kitploit:~
# Example GitHub Actions
- name: Vulnerability Scan
  run: |
    python -m universal_vulnerability_scanner.main scan . --json --output scan-results.json
    
- name: Upload to Phoenix
  if: always()
  run: |
    python -m universal_vulnerability_scanner.main scan . --upload-phoenix

📝 Changelog

v1.0.0 (2025-12-04)

  • Initial release
  • NPM scanner with lockfile support
  • React Server Components vulnerability detection
  • Phoenix Security integration
  • Comprehensive test suite

🙏 Acknowledgments

  • Semver parsing adapted from react/rsc_exposure_scanner.py
  • Phoenix integration adapted from enhanced_npm_compromise_detector_phoenix.py
  • Built for comprehensive supply chain security

📄 License

Part of the Shai Halud security toolkit.


🔍 Stay secure! Report vulnerabilities responsibly.

Download Tool