gitwtfhub

wtf is wp2shell-lab?

dinosn/wp2shell-lab — explained in plain English

Analysis updated 2026-05-18

36PythonAudience · researcherComplexity · 4/5Setup · moderate

TL;DR

A non-destructive detector and Docker lab for verifying whether a WordPress site is vulnerable to a real pre-auth SQL injection and remote code execution chain, for defensive patch verification.

Mindmap

mindmap
  root((repo))
    What it does
      Detects vulnerable WordPress
      Docker lab for testing
      Local PoC of exploit chain
    Tech stack
      Python
      Docker Compose
      MySQL
    Use cases
      Check if a site is patched
      Study the vulnerability chain
      Compare vulnerable vs patched builds
    Audience
      Security researchers
      Site administrators
      Developers

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Why would anyone build with this?

REASON 1

Check whether your own WordPress install is running a version vulnerable to CVE-2026-60137 or CVE-2026-63030.

REASON 2

Spin up a local vulnerable and patched WordPress environment to study the bug safely.

REASON 3

Learn how a read-only SQL injection was chained into full remote code execution on stock WordPress.

What's in the stack?

PythonDockerDocker ComposeMySQLWordPress

How it stacks up

dinosn/wp2shell-labakmessi/vexfredantb/spec-driven-development
Stars363636
LanguagePythonPythonPython
Setup difficultymoderatemoderateeasy
Complexity4/53/52/5
Audienceresearchervibe coderdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you spin it up?

Difficulty · moderate Time to first run · 30min

Requires Docker with Compose v2 and Python 3.8+, make commands drive the lab and checks.

No license file is included, so terms of use are unclear.

Wtf does this do

wp2shell-lab is a security research project built around two real vulnerabilities in WordPress core, tracked as CVE-2026-60137 and CVE-2026-63030. The first is a SQL injection bug that lets an unauthenticated attacker read the entire site database, including admin password hashes, without needing any plugin or misconfiguration. The second is a route confusion bug in WordPress's REST batch API that, when chained with the first, can lead to full remote code execution on a completely default, unpatched install. The affected versions are WordPress 6.9.0 through 6.9.4 and 7.0.0 through 7.0.1, and the issues are already fixed in 6.8.6, 6.9.5, and 7.0.2. The README is explicit that the purpose of this repository is defensive: to help site owners verify whether their own WordPress installation is patched, and to help researchers understand how the underlying bug works, not to provide a tool for attacking other people's sites. It credits the researchers who originally found and reported each part of the vulnerability chain. The project provides three things. A non-destructive detector checks whether a target WordPress site is running a vulnerable version without altering any data. A Docker Compose lab spins up a deliberately vulnerable WordPress and MySQL environment locally, along with a matching patched version, so the difference in behavior can be compared side by side. And a proof-of-concept script demonstrates the full chain against the local lab environment only, showing step by step how the database read bug can be escalated into administrator account creation and code execution. To use it, you need Docker with Docker Compose v2, Python 3.8 or newer using only its standard library, plus make and curl. Simple make commands bring the vulnerable environment up, run the safe detector check, gather read-only proof of the SQL injection, run the full exploit chain against the local lab, and rebuild against the patched WordPress version to confirm the check reports no vulnerability. The README does not state a license for the project.

Yoink these prompts

Prompt 1
Explain what CVE-2026-60137 and CVE-2026-63030 are and why chaining them is dangerous on stock WordPress.
Prompt 2
Walk me through using the non-destructive detector in wp2shell-lab to check a WordPress site's version.
Prompt 3
Help me set up the Docker Compose lab in wp2shell-lab to compare vulnerable and patched WordPress behavior.
Prompt 4
Summarize the make commands in wp2shell-lab and what each one does.

Frequently asked questions

wtf is wp2shell-lab?

A non-destructive detector and Docker lab for verifying whether a WordPress site is vulnerable to a real pre-auth SQL injection and remote code execution chain, for defensive patch verification.

What language is wp2shell-lab written in?

Mainly Python. The stack also includes Python, Docker, Docker Compose.

What license does wp2shell-lab use?

No license file is included, so terms of use are unclear.

How hard is wp2shell-lab to set up?

Setup difficulty is rated moderate, with roughly 30min to a first successful run.

Who is wp2shell-lab for?

Mainly researcher.

View the repo → Decode another repo

This repo across BitVibe Labs

Don't trust strangers blindly. Verify against the repo.