9.8
CVSS composite severity for the WP2Shell pre-auth RCE chain in WordPress Core
0
Credentials required — any internet client can trigger WP2Shell without a WordPress account
43%
of all websites run WordPress — every unpatched 6.9.0–6.9.4 and 7.0.0–7.0.1 installation is a live target
July 21
Date CISA added both CVE-2026-63030 and CVE-2026-60137 to the Known Exploited Vulnerabilities catalog

SponsoredHorizon3.ai

Proactive Security for the AI Era

NodeZero continuously and autonomously pentests infrastructure, identity, cloud, and now web applications, chaining weaknesses across every domain the way real attackers do. Every finding ships with replayable proof showing exploitable business impact, not theoretical risk.

See NodeZero WebApp in action

WP2Shell lets any unauthenticated internet client execute arbitrary PHP code on a WordPress site, create rogue administrator accounts, and deploy persistent webshells with no credentials required — and CISA confirmed active exploitation on July 21, 2026 when it added both CVE-2026-63030 and CVE-2026-60137 to its Known Exploited Vulnerabilities catalog.

The vulnerability pair targets WordPress Core, not a plugin or theme. CVE-2026-63030 exploits a logic flaw in the REST API batch endpoint introduced in WordPress 6.9, where a desynchronization between the validation and execution loops allows an attacker to dispatch sub-requests under handlers that bypass method-level authentication. CVE-2026-60137 is a UNION-based SQL injection in WP_Query's author__not_in parameter that, when reached through the desynchronized batch handler, extracts database contents without authentication. Chained together, the two flaws produce a full pre-auth remote code execution path.

WordPress 6.9.0 through 6.9.4 and 7.0.0 through 7.0.1 are affected. Fixed versions — 6.9.5 and 7.0.2 — were released on the day of disclosure, July 17, 2026. WordPress.org enabled forced auto-updates for sites with that setting active, but many production environments disable auto-updates. A month after disclosure, Bitdefender MDR and F5 Labs continue to observe active exploitation attempts across geographically distributed attacker infrastructure.

WP2Shell WordPress RCE is not a theoretical threat. Public proof-of-concept code was available within 24 hours of disclosure. F5 Labs captured a live exploit payload from attacker IP 185.242.3.238. Nine distinct webshell and plugin dropper SHA-256 hashes have been extracted from compromised sites. If your environment runs WordPress 6.9.0–6.9.4 or 7.0.0–7.0.1 and has not patched, treat it as currently compromised and investigate before the weekend.

How Does the WP2Shell WordPress RCE Work?

The WP2Shell exploit chain requires two CVEs to achieve remote code execution. Neither vulnerability produces RCE alone; the combination produces a complete, unauthenticated attack path.

CVE-2026-63030: REST API batch handler desynchronization. The WordPress REST API batch endpoint at /wp-json/batch/v1 processes multiple sub-requests in a single HTTP call. Internally, it runs two separate loops: one for validation and one for execution. When the validation loop encounters a sub-request path prefixed with three forward slashes (///), the call to wp_parse_url() fails. The failure pushes an error entry to the validation result array but nothing to the matches array, causing the two arrays to fall out of sync by one index position. The execution loop then dispatches all subsequent sub-requests under the handler matched for the previous path — a handler that has already passed validation but targets a different endpoint, bypassing that endpoint's method-level authentication checks.

CVE-2026-60137: SQL injection via WP_Query author__not_in. Once the batch desynchronization reaches a sub-request that queries posts via WP_Query, the author__not_in (or author_exclude) parameter is not properly sanitized. An attacker injects a UNION-based SQL payload: the query terminates the expected integer comparison early with a closing parenthesis, then appends a UNION SELECT that extracts arbitrary data from the WordPress database, including the wp_users table containing user credentials, emails, and password hashes.

Post-exploitation path. After extracting database contents, attackers create new administrator accounts using the extracted session tokens or by injecting directly into wp_users. The rogue admin account (observed usernames use the prefix w2s_ followed by a hex string) then authenticates to the WordPress admin panel, uploads a PHP plugin containing a webshell, and installs it. The webshell provides persistent command execution at the web server's process privilege level. This pattern is consistent with what Decryption Digest documented in the software supply chain attack defense guide, where a single untrusted input point cascades to full pipeline compromise.

Which Sites Are Exposed? Scope and Impact of WP2Shell

WordPress powers approximately 43% of all websites globally — a deployment footprint that makes CVE-2026-63030 one of the most broadly applicable pre-auth RCE vulnerabilities disclosed in 2026. The affected version range (6.9.0–6.9.4 and 7.0.0–7.0.1) corresponds to releases shipped between January and July 2026, meaning the vulnerability affects installations that kept up with WordPress major updates but had not yet applied the July 17 security patch.

Self-hosted WordPress sites are the highest-risk category. Organizations running WordPress on their own servers, cloud VMs, or container infrastructure that disabled auto-updates — a common practice in production environments where update testing is required before deployment — remain fully vulnerable. Managed WordPress hosting platforms with delayed update pipelines are a second risk tier. Multisite WordPress networks compound the impact: a single compromised network-level installation affects all subsites under that installation.

The attack requires only that the target's WordPress REST API is accessible from the internet, which is the default configuration. Blocking the REST API entirely breaks plugin functionality for a significant share of WordPress deployments, so most sites leave it enabled. The specific batch endpoint at /wp-json/batch/v1 introduced in WordPress 6.9 is the sole entry point for CVE-2026-63030; sites running WordPress 6.8.x and earlier are not vulnerable to this specific chain.

Active exploitation continues more than 30 days after disclosure. F5 Labs observed exploitation attempts from nine distinct IP addresses across Singapore, Germany, France, and the United States. Bitdefender MDR documented attacker infrastructure with multiple attempts before achieving successful RCE, indicating iterative exploitation campaigns rather than one-off opportunistic scanning. Check your REST API authentication controls and secret scanning in your WordPress deployment as part of your post-incident review if WP2Shell exposure cannot be ruled out.

Free daily briefing

Briefings like this, every morning before 9am.

Threat intel, active CVEs, and campaign alerts, distilled for practitioners. 50,000+ subscribers. No noise.

WP2Shell Campaign IOCs: Block These Now

F5 Labs and Bitdefender MDR captured attacker infrastructure and webshell artifacts from active WP2Shell exploitation campaigns. These IOCs represent confirmed attacker tooling — block the IPs at your perimeter firewall and run the SHA-256 hashes against any WordPress wp-content directory you manage, including backups from the past 30 days.

The malicious plugin droppers are the primary persistence mechanism. They install a PHP plugin that registers shell execution capabilities accessible via a specific URL parameter. The webshell hashes represent standalone PHP files placed directly in wp-content/uploads/ or randomized subdirectories. Any match on these hashes in your environment should trigger an immediate incident response, as successful installation means the attacker achieved the full post-exploitation phase.

Subscribe to unlock Indicators of Compromise

Free subscribers unlock full IOC lists, Sigma detection rules, remediation steps, and every daily briefing.

WAF Detection Rules for WP2Shell

No CVE-specific Sigma rule exists yet for CVE-2026-63030 or CVE-2026-60137 — both CVEs were disclosed in July 2026 and the SigmaHQ community rule for this specific exploit chain has not yet been merged into the stable ruleset. Behavioral detection based on process telemetry (web server spawning unexpected child processes) applies after successful exploitation, not to the initial exploit attempt. WAF rules are the primary preventive control for WP2Shell because the exploit is entirely HTTP-based and the endpoint pattern and payload structure are highly distinctive.

Deploy these rules in detection (count/log) mode first to validate they do not generate false positives in your environment before switching to block mode. The batch endpoint at /wp-json/batch/v1 serves legitimate use cases in some WordPress plugin ecosystems, so review your access logs before enabling hard block mode. Note that the ModSecurity rule is subscriber-gated on the public blog — full rule YAML is available to subscribers; the WAF configuration panel in the Decryption Digest platform shows all four platform variants with per-organization vendor dropdown selection.

Subscribe to unlock WAF Detection Rules

Free subscribers unlock full IOC lists, Sigma detection rules, remediation steps, and every daily briefing.

Patch and Block: Close This WP2Shell Gap Before the Weekend

Apply the WordPress security update immediately. If updating is not possible before the weekend, deploy the WAF block as an emergency control. Both steps together provide the strongest protection; the WAF rule alone does not prevent exploitation if the batch endpoint is accessible through an alternative reverse proxy path.

Apply official patch →wordpress.org/download/

Subscribe to unlock Remediation & Mitigation steps

Free subscribers unlock full IOC lists, Sigma detection rules, remediation steps, and every daily briefing.

Why WP2Shell WordPress RCE Matters for Your Organization

The WP2Shell pre-auth RCE matters because WordPress is not a niche platform — it powers 43% of all websites globally, including e-commerce stores, hospital patient portals, government information sites, financial services landing pages, and internal corporate intranets. A single exploited WordPress site can give an attacker access to customer PII, payment processing integrations, internal network segments reached via the hosting environment, and outbound email infrastructure for spam and phishing campaigns.

The attack is low-effort for attackers. Public PoC tools have been available since July 22, 2026 — the day after CISA added both CVEs to its KEV catalog. F5 Labs' capture of the live exploit payload shows that attackers refined the attack to a 735-byte POST body. Automated scanning tools can test the /wp-json/batch/v1 endpoint across the entire IPv4 address space within hours.

The timing also matters. WP2Shell was disclosed a month ago. Organizations that applied auto-updates or patched promptly are protected. The sites still running 6.9.0–6.9.4 or 7.0.0–7.0.1 on August 21, 2026 are the ones that actively manage their update schedules — which typically means larger organizations with more data, more integrations, and more valuable credentials stored in the WordPress database.

If your organization runs WordPress in any capacity — self-hosted, on managed cloud, as part of a multisite network, or via a WooCommerce store — verify your version today. A one-minute check in Dashboard > About WordPress can confirm whether this gap is already closed. If it is not, you have a specific, confirmed, high-severity attack path to close before the weekend.

The bottom line

WP2Shell WordPress RCE gives unauthenticated attackers full site control in a single HTTP POST, on a platform that powers 43% of the web. The exploit chain is public, automated scanning is underway, and active exploitation was confirmed by CISA on July 21. Apply WordPress 6.9.5 or 7.0.2 immediately — this is the definitive fix. As an emergency measure, block POST requests to /wp-json/batch/v1 at your WAF. Audit wp-content/ for the SHA-256 webshell hashes listed above and check wp_users for rogue accounts with the w2s_ prefix. If you run WordPress and have not patched, close this gap before the weekend.

This analysis is generic. create a free account to score threats like this against your own stack.

Frequently asked questions

What is wp2shell?

wp2shell is the public name for a two-CVE pre-authentication remote code execution chain in WordPress Core disclosed on July 17, 2026. CVE-2026-63030 exploits a logic flaw in the REST API batch endpoint that desynchronizes validation and execution arrays, bypassing method-level authentication. CVE-2026-60137 is a UNION-based SQL injection in the WP_Query author__not_in parameter. Chaining the two lets an attacker with no WordPress account execute arbitrary PHP code and take complete control of any affected site.

Which versions of WordPress are affected by CVE-2026-63030?

WordPress versions 6.9.0 through 6.9.4 and 7.0.0 through 7.0.1 are affected. WordPress versions before 6.9.0 are not affected because the REST API batch endpoint introduced in 6.9 is required for the exploit chain. The fixed versions are 6.9.5 and 7.0.2, both released July 17, 2026 on the day of disclosure. WordPress.org also pushed forced auto-updates for sites with auto-updates enabled.

How does the wp2shell exploit chain work technically?

The attack sends a POST request to /wp-json/batch/v1 containing nested sub-requests. CVE-2026-63030 triggers the desynchronization: when wp_parse_url() fails on a triple-slash-prefixed path (///endpoint), the validation loop marks it as passed but the execution loop dispatches a different handler that bypasses authentication. This desynchronized dispatch is then used to reach the WP_Query API. CVE-2026-60137 injects UNION-based SQL through the author_exclude parameter in the resulting query, extracting data including administrator credentials. Attackers then use those credentials to create a rogue administrator account, upload a malicious plugin, and deploy a PHP webshell.

Is WordPress auto-update fixing this for me?

WordPress.org enabled forced updates for sites with auto-updates turned on at the time of the July 17, 2026 disclosure. If your site auto-updated, you should be on 6.9.5 or 7.0.2. However, many organizations disable auto-updates on production WordPress installations to maintain control over update cycles, and managed hosting providers may have their own schedules. Check your current version in the WordPress dashboard under Dashboard > Updates. If you are on 6.9.0 through 6.9.4 or 7.0.0 through 7.0.1, update manually now.

Can I block wp2shell without patching WordPress?

Yes, as a temporary measure you can block or rate-limit POST requests to /wp-json/batch/v1, /?rest_route=/batch/v1, and /index.php?rest_route=/batch/v1 at your WAF or reverse proxy. The WordPress REST API batch endpoint was introduced in WordPress 6.9 and is not required for standard front-end or admin operations, so blocking it does not break core WordPress functionality for most deployments. This is an emergency control; it does not replace the patch.

How do I detect wp2shell exploitation on my WordPress site?

Look for four signals in your access logs and filesystem: HTTP POST requests to /wp-json/batch/v1 returning HTTP 207 Multi-Status responses from non-administrative source IPs; request bodies containing the string author_exclude, UNION SELECT, or the hex encoding 0x7c7c; unexpected user accounts created in wp-users with usernames matching the pattern w2s_ followed by a hex string; and unknown PHP files or plugin directories under wp-content/plugins/ or wp-content/uploads/ created within the last 30 days. The captured webshell SHA-256 hashes listed in the IOC section of this post can also be run against your wp-content directory.

What can attackers do after exploiting wp2shell?

After successfully exploiting wp2shell, attackers gain full administrator access to the WordPress database and admin panel. Observed post-exploitation activity includes creating persistent rogue administrator accounts with the w2s_ prefix, uploading malicious PHP plugins that execute arbitrary shell commands, deploying persistent PHP webshells at randomized paths inside wp-content, extracting database contents including user credentials and personal data, defacing site content, and using the compromised server as a pivot point for attacks on other internal systems. Any successful exploit should be treated as a full site compromise.

Does wp2shell affect WordPress.com hosted sites?

No. WordPress.com is managed infrastructure operated by Automattic, which applies security patches independently. The vulnerability affects self-hosted WordPress installations and managed WordPress hosting where the customer controls the WordPress version. If you host WordPress yourself — on your own server, a VPS, shared hosting, or containerized infrastructure — check your version now. Contact your managed WordPress hosting provider if you are unsure whether they applied the 6.9.5 or 7.0.2 patch.

Sources & references

  1. Rapid7: CVE-2026-63030 wp2shell — Critical RCE in WordPress Core
  2. Bitdefender: Technical Advisory wp2shell — Full Site Takeover
  3. F5 Labs: CVE-2026-63030 and CVE-2026-60137 Captured Exploit Payload
  4. CISA KEV: CVE-2026-63030 and CVE-2026-60137 Added July 21, 2026
  5. SecurityWeek: WP2Shell WordPress Vulnerabilities Exploited in the Wild

Free resources

25
Free download

Critical CVE Reference Card 2025–2026

25 actively exploited vulnerabilities with CVSS scores, exploit status, and patch availability. Print it, pin it, share it with your SOC team.

No spam. Unsubscribe anytime.

Free download

Ransomware Incident Response Playbook

Step-by-step 24-hour IR checklist covering detection, containment, eradication, and recovery. Built for SOC teams, IR leads, and CISOs.

No spam. Unsubscribe anytime.

Free newsletter

Get threat intel before your inbox does.

50,000+ security professionals read Decryption Digest for early warnings on zero-days, ransomware, and nation-state campaigns. Free, daily, no spam.

Unsubscribe anytime. We never sell your data.

Eric Bang
Author

Founder & Cybersecurity Evangelist, Decryption Digest

Cybersecurity professional with expertise in threat intelligence, vulnerability research, and enterprise security. Covers zero-days, ransomware, and nation-state operations for 50,000+ security professionals every morning.

Giveaway: InfoSec World 2026 All Access Pass ($3,895 value)

Details →
Daily Briefing

Subscribe to enter the giveaway

Every subscriber is automatically entered. You also get daily threat intel every morning: zero-days, ransomware, and nation-state campaigns. Free. No spam.

Already subscribed? You're already entered.

Giveaway

Win a $3,895 InfoSec World 2026 pass.