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
wp2shell — wp2shell — Pre-authentication RCE in WordPress Core (CVE-2026-60137 + CVE-2026-63030). Chains an SQL injection in author__not_in with batch-route confusion for unauthenticated remote code execution on WP 6.9.0–6.9.4 / 7.0.0–7.0.1. | Kitploit
Tools/GitHubGitHub/h4cd0c/wp2shell
Vulnerability AnalysisExploitationWeb Application ExploitationPenetration TestingPayload Development
GitHubh4cd0c/wp2shell

wp2shell

wp2shell — Pre-authentication RCE in WordPress Core (CVE-2026-60137 + CVE-2026-63030). Chains an SQL injection in author__not_in with batch-route confusion for unauthenticated remote code execution on WP 6.9.0–6.9.4 / 7.0.0–7.0.1.

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

wp2shell

Pre-authentication Remote Code Execution against WordPress Core.

Chains CVE-2026-60137 (SQLi in author__not_in / author_exclude parameter of WP_Query) with CVE-2026-63030 (REST API batch-route confusion) for unauthenticated RCE.

Affected Versions

RangeStatus
<= 6.8.5Not affected (no batch confusion)
6.8.0 - 6.8.5SQLi only, no RCE
6.9.0 - 6.9.4Vulnerable
7.0.0 - 7.0.1Vulnerable
7.0.2+ / 6.9.5+Patched

Usage

root@kitploit:~
python3 poc.py -u TARGET_URL
python3 poc.py -u TARGET_URL --sql "SELECT user_pass FROM wp_users LIMIT 1"
python3 poc.py -u TARGET_URL -c "id"

Modes

ArgumentsBehavior
-u TARGET_URLCheck if vulnerable (timing probe)
-u TARGET_URL --sql "SQL"Extract scalar via blind SQLi
-u TARGET_URL -c "CMD"Full RCE chain

How It Works

  1. Batch-route confusion — exploits the batch API (/batch/v1) to desync request handling and bypass authentication
  2. Time-based blind SQLi — injects into author_exclude parameter via SLEEP() timing oracle
  3. oEmbed cache corruption — creates forged oEmbed cache entries via UNION injection
  4. Customizer changeset injection — recasts cache entries as a changeset with admin authorship
  5. Admin account creation — publishes the changeset and creates a new admin user
  6. Plugin upload — logs in as the new admin, uploads a plugin that registers a REST API command endpoint
  7. Command execution — sends command via the plugin's REST endpoint, returns output, self-destructs

Attack Flow

root@kitploit:~
Vulnerability check → Seed oEmbed posts → Extract table name (blind SQLi)
→ Extract admin ID (blind SQLi) → Extract cache post IDs (blind SQLi)
→ Inject poisoned changeset via batch → Create admin user
→ Login → Upload command plugin → Execute command → Cleanup

Credits

  • CVE-2026-60137 — SQLi in author__not_in: discovered by TF1T, dtro, haongo
  • CVE-2026-63030 — Batch-route confusion: discovered by Adam Kues (Assetnote / Searchlight Cyber)
  • PoC implementation: sergiointel/wp2shell-poc
Download Tool