← Back to Blog
Cybersecurity

WordPress wp2shell Vulnerability: Patch Your Site Now

28 July 2026 · By Ethan Fernandes

WordPress wp2shell Vulnerability: Patch Your Site Now

A critical vulnerability chain called wp2shell is being actively exploited against WordPress websites right now. It allows attackers to execute code on your server remotely, without needing a login, without needing any plugins installed, and without any action from you or your users. If your WordPress site is running version 6.9.0 through 6.9.4 or 7.0.0 through 7.0.1, you need to update immediately.

This is not a theoretical risk. Public exploit code is circulating and mass exploitation is underway. Default WordPress installations are vulnerable out of the box.

What Is wp2shell?

wp2shell is the name given to a chain of two vulnerabilities that, when combined, give an attacker full remote code execution (RCE) on a default WordPress installation. No plugins required. No user interaction required. No authentication required.

The two vulnerabilities in the chain are:

  • CVE-2026-63030 — a REST API Batch-Route Confusion flaw in the /wp-json/batch/v1 endpoint. This allows an unauthenticated attacker to bypass access controls and reach internal API routes that should be restricted.
  • CVE-2026-60137 — a SQL Injection vulnerability in the author__not_in parameter of WP_Query. Once the attacker can reach internal routes via the first flaw, this injection allows them to manipulate database queries and ultimately execute arbitrary code on the server.

How the Attack Works

In simplified terms, the attack works in two steps:

  1. Bypass the front door. WordPress has a batch API endpoint (/wp-json/batch/v1) that lets multiple API requests be sent in a single call. The route confusion bug means an attacker can craft a batch request that tricks WordPress into processing internal API calls that would normally require authentication — without any credentials.
  2. Inject through the gap. Once inside, the attacker exploits the SQL injection flaw in the author__not_in query parameter. This lets them manipulate the database directly, which in WordPress can be leveraged to write files to the server or modify existing ones — giving them a web shell and full control.

The reason this is so dangerous is that both vulnerabilities exist in WordPress core. No plugins, no themes, no misconfigurations needed. A fresh, default WordPress install is vulnerable.

Am I Vulnerable?

You are affected if your WordPress site is running any of these versions:

  • WordPress 6.9.0, 6.9.1, 6.9.2, 6.9.3, or 6.9.4
  • WordPress 7.0.0 or 7.0.1

Versions older than 6.9 are not vulnerable to the full unauthenticated chain. However, if you are running older unsupported versions, you have other problems — update regardless.

You can check your WordPress version by logging into your admin dashboard and looking at the bottom-right corner, or by navigating to Dashboard → Updates.

What to Do Right Now

Step 1: Update WordPress immediately

Patches were released on 17 July 2026. Update to:

  • WordPress 6.9.5 (if you are on the 6.9 branch)
  • WordPress 7.0.2 or newer (if you are on the 7.0 branch)

If you have automatic updates enabled, check that the update has actually applied. Do not assume it has — log in and verify.

Step 2: If you cannot update immediately, block the endpoint

If updating is not possible right now (staging environments, compatibility testing, change management processes), implement a temporary WAF rule or server-level block to restrict access to /wp-json/batch/v1. This is not a permanent fix, but it closes the entry point while you prepare to update.

For Nginx, add a location block that returns 403 for that path. For Apache, use a RewriteRule. For Cloudflare or other WAFs, create a custom rule blocking requests to the batch endpoint.

Blocking the batch endpoint may affect some plugins that rely on it. This is a temporary measure — the real fix is updating WordPress.

Step 3: Check for signs of compromise

If your site was running an affected version between now and when the exploit became public, check for:

  • Unfamiliar files in your WordPress root or wp-content directory (especially PHP files with random names)
  • Modified core files — run wp core verify-checksums if you have WP-CLI access
  • New or unfamiliar admin user accounts
  • Unexpected database changes or content modifications

Why This Matters Even If You Do Not Run WordPress

WordPress powers roughly 40% of the web. If your business uses a WordPress site — even a simple brochure site built by an agency years ago — it could be running a vulnerable version right now with nobody actively maintaining it. These are exactly the sites attackers target first: unpatched, unmonitored, and forgotten.

Key takeaway

wp2shell is a critical, actively exploited vulnerability chain that gives attackers full control of unpatched WordPress sites. Update to WordPress 6.9.5 or 7.0.2 immediately. If you cannot update, block the /wp-json/batch/v1 endpoint as a temporary measure.

If you are not sure whether your website is vulnerable or need help checking, get in touch. Our cybersecurity team can audit your site and verify it is patched and clean.

Related: Best cybersecurity tools for small business UK · What to do when your business gets hacked

Want to talk about this?

Book a free 15-minute call and we'll discuss how this applies to your business.

Get IT tips in your inbox

Practical advice for small businesses. No spam.