wp2shell WordPress Core Unauthenticated Remote Code Execution
First seen Jul 18, 2026 · Updated Jul 18, 2026 · CVSS 9.8
A critical unauthenticated remote code execution vulnerability, dubbed wp2shell, was discovered in WordPress core affecting versions 6.9 and 7.0, exploitable via a single anonymous HTTP request even on default installs with no plugins. WordPress released patched versions 6.9.5 and 7.0.2 and pushed forced auto-updates to mitigate mass exploitation. Researcher Adam Kues of Assetnote (Searchlight Cyber) discovered and reported the flaw.
Technical Analysis
The vulnerability resides in WordPress core code and allows an anonymous, unauthenticated HTTP request to trigger arbitrary code execution on the underlying server, bypassing the need for plugin-based attack surface or authenticated access. Because the flaw exists in core rather than a third-party plugin, every default 6.9.x and 7.0.x install was vulnerable prior to patching, significantly widening the exploitable population. WordPress responded by shipping 6.9.5 and 7.0.2 and enabling forced auto-updates to rapidly close the exposure window before public PoC release. Organizations running AI agents or LLM-powered automation on WordPress-hosted infrastructure (e.g., agents that scrape, manage, or publish content via WordPress, or RAG pipelines indexing WordPress-hosted knowledge bases) face risk of host compromise, credential theft for API keys stored on the server, and potential pivoting into connected agent tooling if the underlying host is not immediately patched.
Affected Systems
WordPress core versions 6.9 and 7.0 (all sites, including default installs with zero plugins); unpatched instances prior to 6.9.5 and 7.0.2
Indicators of Compromise
- No specific hashes, IPs, or domains published at time of disclosure; monitor for anomalous unauthenticated POST/GET requests to wp-admin/wp-login endpoints and unexpected PHP file writes in wp-content/uploads
Remediation Steps
- 1
Apply core patch immediately
Update WordPress core to version 6.9.5 or 7.0.2, or confirm forced auto-update has been applied.
- 2
Verify auto-update status
Check WordPress dashboard/site health to confirm forced auto-updates succeeded; manually trigger update if not applied.
- 3
Audit for compromise
Review server logs, file integrity, and uploads directories for signs of webshells or unauthorized file modifications predating the patch.
- 4
Rotate exposed credentials
Rotate any API keys, database credentials, or agent/service tokens stored on or accessible from the WordPress host.
- 5
Restrict server-side execution
Harden PHP execution permissions in upload directories and enforce WAF rules to block anomalous unauthenticated core exploitation attempts.
Industries Most Exposed
Respond to this threat
Pro subscribers get a full AI-generated incident-response playbook for this threat — detection, containment, eradication, and recovery steps — plus an unlimited AI Threat Advisor for questions about your environment.