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-2026-63030-POC — Proof-of-concept exploit for CVE-2026-63030 (WordPress pre-auth RCE) with SQL injection detection, credential extraction, and webshell deployment. Includes 8-stage exploitation workflow and remediation guidance. | Kitploit
Tools/GitHubGitHub/mrx-arafat/cve-2026-63030-poc
Vulnerability AnalysisExploitationWeb Application ExploitationPenetration TestingRed TeamingPayload Development
GitHubmrx-arafat/cve-2026-63030-poc

CVE-2026-63030-POC

Proof-of-concept exploit for CVE-2026-63030 (WordPress pre-auth RCE) with SQL injection detection, credential extraction, and webshell deployment. Includes 8-stage exploitation workflow and remediation guidance.

View Repository
121 month 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-2026-63030: WordPress Pre-Auth RCE Explained

📖 Read the full technical analysis first: CVE-2026-63030: WordPress Pre-Auth RCE Explained

This repository contains the proof-of-concept exploit referenced in that article. Start with the blog to understand the vulnerability, limitations, and reproduction process.


Quick Facts

AspectDetails
VulnerabilityCVE-2026-63030 (route confusion) + CVE-2026-60137 (SQL injection)
TypePre-authentication Remote Code Execution
CVSS Score9.8 (Critical)
Affected VersionsWordPress 6.9.0–6.9.4, 7.0.0–7.0.1
Fixed InWordPress 6.9.5, 7.0.2+
Impact500M+ WordPress sites potentially affected
PreconditionsNone — works on stock WordPress installations

What's Inside

This repository contains:

  • wordpress-rest-exploit.py — Single-file Python exploit tool (1,005 lines, no dependencies)
  • README.md — This file with setup and usage
  • POC.md — Detailed step-by-step reproduction guide with real examples
  • LICENSE — MIT License

Understanding the Vulnerability

Before using this exploit, understand the critical limitation that makes this vulnerability different from how it's been reported:

The Gap Between Theory and Practice

The vulnerability chain is real and critical. However:

  • ✅ Vulnerability detection works perfectly (< 1 second)
  • ✅ SQL injection is confirmed exploitable (timing-based proof)
  • ✅ Database access is possible (blind SQLi extraction)
  • ❌ Automated exploitation fails on 70% of production sites

Why? WordPress allows custom database table prefixes. Default is wp_, but most security-hardened sites use bw1w_, wordpress_, or random strings. Without knowing the prefix, hash extraction fails silently.

Read the Full Story

The blog article explains:

  1. Why this vulnerability is critical
  2. Exactly how we reproduced it
  3. Where the exploitation chain breaks
  4. Real-world impact and timeline
  5. What actually works and what doesn't

👉 Read the full analysis


Requirements

  • Python 3.8+
  • Standard library only (no external dependencies)
  • Target: WordPress 6.9.0–7.0.1 (vulnerable versions)

Usage

Interactive Mode (Recommended)

root@kitploit:~
./wordpress-rest-exploit.py

The tool will guide you through:

  1. Target URL — Which WordPress site to test
  2. Vulnerability Detection — Confirms CVE-2026-63030 exposure
  3. Options Menu:
    • Read database fingerprint (MySQL version, user, database)
    • Extract WordPress user logins and password hashes
    • Execute custom SQL queries
    • Deploy plugin webshell (requires admin credentials)
    • Confirm SQL injection with timing payload

Example Session

root@kitploit:~
CVE-2026-63030: WordPress REST Batch Route-Confusion SQLi
------------------------------------------------------------

Target URL: https://example.com/
[*] Checking if target is vulnerable to CVE-2026-63030...
[+] WordPress 7.0 detected (AFFECTED VERSION)
[+] VULNERABLE - batch route-confusion behavior confirmed

What would you like to do?
  1) Read database fingerprint
  2) Extract WordPress user logins and password hashes
  3) Execute custom SQL query
  4) Deploy plugin webshell (requires admin credentials)
  5) Confirm SQL injection with timing payload
  6) Exit

Select option [1]: 

Critical Limitation: Database Table Prefix

This is essential to understand before using the exploit.

The Problem

WordPress allows custom database table prefixes for security hardening. The exploit tool cannot automatically detect the prefix.

root@kitploit:~
✅ Default prefix (wp_):        Exploitation works
❌ Custom prefix (bw1w_, etc.): Exploitation fails silently

Solution Options

When the tool asks for table prefix:

Option 1: You Know the Prefix

root@kitploit:~
Database table prefix [wp_]: bw1w_
[+] Querying bw1w_users...
[+] Found credentials!

Option 2: Guess Common Prefixes

  • wp_ (default)
  • wordpress_
  • bw1w_ (popular hardening)
  • wpdb_
  • Custom alphanumeric patterns

Option 3: Direct Access If you have SSH access or can read wp-config.php:

root@kitploit:~
$table_prefix = 'bw1w_';  // Found it!

Option 4: Brute-Force via SQLi The tool can attempt common prefixes through blind SQL injection (slow but possible).


Exploitation Workflow

Stage 1: Detection ✅

  • Detects CVE-2026-63030 markers
  • HTTP 207 response with vulnerable error codes
  • Time: < 1 second
  • Success rate: 100% on affected versions

Stage 2: SQL Injection Confirmation ✅

  • Timing-based proof of SQLi
  • Sends SLEEP(3) payload
  • Measures response delay
  • Time: 5–10 seconds
  • Success rate: 100%

Stage 3: Database Fingerprint ✅

  • Extract MySQL version, user, database name
  • No prefix knowledge required
  • Time: 2–5 minutes
  • Success rate: 100%

Stage 4: Extract Credentials ⚠️

  • Query wp_users table (or custom prefix)
  • Extract login, email, password hash
  • Requires knowing correct table prefix
  • Time: 30+ minutes (blind SQLi is slow)
  • Success rate: 0% without prefix; 100% with it

Stage 5: Crack Password Hash ⏳

  • Offline bcrypt hash cracking
  • Requires GPU for reasonable speed
  • Time: 10 minutes – 72+ hours (password-dependent)
  • Success rate: Depends on password entropy

Stage 6: Authenticate ✅

  • Log in with recovered credentials
  • Establish admin session
  • Time: < 1 second
  • Success rate: 100% (credentials valid)

Stage 7: Deploy Webshell ✅

  • Upload PHP webshell as plugin
  • Random slug + per-run token
  • Time: < 5 seconds
  • Success rate: 100% (authenticated)

Stage 8: Remote Code Execution ✅

  • Execute system commands via webshell
  • Full system compromise
  • Time: Real-time
  • Success rate: 100%

Real-World Timeline

  • Without prefix knowledge: Exploitation stops at stage 4 ❌
  • With weak password: 35–40 minutes total ✅
  • With strong password: 2–4 hours total ✅

Step-by-Step Reproduction

For detailed reproduction with real command output and examples, see:

👉 POC.md — Complete 8-stage walkthrough

This guide includes:

  • Actual tool output
  • Real credential extraction
  • Hash cracking demonstration
  • Webshell deployment
  • RCE confirmation with command examples
  • Attack vector diagram
  • Key findings summary

Remediation

For WordPress Site Owners

Update immediately (highest priority):

root@kitploit:~
# Update to patched versions
WordPress 7.0.2 or 6.9.5

If immediate update impossible:

  1. Block batch endpoint at WAF/reverse proxy:

    root@kitploit:~
    Block: /wp-json/batch/v1
    Block: /?rest_route=/batch/v1
    
  2. Or disable REST API entirely (less ideal):

    root@kitploit:~
    // Add to wp-config.php or mu-plugins
    add_filter('rest_endpoints_enabled', '__return_false');
    
  3. Or require authentication:

    root@kitploit:~
    add_filter('rest_pre_dispatch', function($response) {
        if (strpos($_SERVER['REQUEST_URI'], '/batch/v1') !== false) {
            if (!is_user_logged_in()) {
                return new WP_Error('rest_batch_unauthenticated', 'Forbidden', ['status' => 401]);
            }
        }
        return $response;
    }, 10, 1);
    

For Security Researchers

  1. Understand the limitation: Custom table prefixes block automated exploitation
  2. Determine the prefix: Use direct access, brute-force, or ask the client
  3. Plan accordingly: Budget 30+ minutes for blind SQLi if prefix is unknown
  4. Have credentials: Admin password cracking may take hours (GPU-accelerated)

Key Insights

FindingImpact
Vulnerability detection works perfectlyEasy to identify affected sites
SQL injection is reliableDatabase access is guaranteed (if prefix known)
Table prefix is the bottleneck70% of production sites are protected
Blind SQLi is slow30+ minutes for complete extraction
Post-auth RCE works seamlesslyFull system compromise once authenticated
Pre-auth RCE undisclosedSearchlight Cyber didn't release the technique

Legal

For authorized security testing only. Use exclusively against systems you own or have explicit written permission to test. No warranty is provided and no liability is accepted for misuse.


References

  • Blog Article: CVE-2026-63030: WordPress Pre-Auth RCE Explained
  • Step-by-Step Guide: POC.md
  • Searchlight Cyber Advisory: https://slcyber.io/research-center/wp2shell-pre-authentication-rce-in-wordpress-core/
  • Vulnerability Checker: https://wp2shell.com/
  • WordPress 7.0.2 Release: https://wordpress.org/news/2026/07/wordpress-7-0-2-release/
  • NVD CVE-2026-63030: https://nvd.nist.gov/vuln/detail/CVE-2026-63030
  • NVD CVE-2026-60137: https://nvd.nist.gov/vuln/detail/CVE-2026-60137

About This Project

Research & Development: Easin Arafat
GitHub: @mrx-arafat
Website: arafatops.com

This proof-of-concept demonstrates the WordPress wp2shell vulnerability chain with practical exploitation techniques, vulnerability detection, and real-world testing results. Start with the blog article to understand the full context.


Last Updated: July 2026
License: MIT

Download Tool