CVE-2026-64638
WordPress vulnerability analysis and mitigation

Overview

CVE-2026-64638 is a pre-authentication reflected Cross-Site Scripting (XSS) vulnerability on the WordPress login screen, dubbed "XSS2Shell," that can be chained into Remote Code Execution (RCE) under specific conditions. It affects all WordPress versions from 4.7 through 7.0.2, spanning dozens of minor release branches. The vulnerability was discovered and responsibly disclosed by the team at pwn.ai, with the advisory published on August 6, 2026. WordPress 7.0.3 was released as the fix, with backports provided to all supported branches back to 4.7. It carries a CVSS v4 base score of 8.9 (High) (GitHub Advisory, Feedly).

Technical details

The vulnerability is classified as CWE-79 (Improper Neutralization of Input During Web Page Generation — Cross-Site Scripting) and stems from insufficient sanitization of user-supplied input in the log parameter on wp-login.php (GitHub Advisory). An attacker crafts a malicious third-party website that, when visited by a logged-in or soon-to-log-in WordPress administrator, injects arbitrary JavaScript into the login page context. The full RCE escalation chain — publicly documented in multiple PoC repositories — leverages DOM clobbering, JSONP hijacking, the Same-Origin Method Execution (SOME) technique, WordPress Application Password capture, and finally plugin upload via update.php?action=upload-plugin to achieve PHP code execution (PoC Repo 1, PoC Repo 2). Exploitation requires active user interaction and successful social engineering, making fully automated exploitation difficult.

Impact

Successful exploitation of the XSS stage allows an unauthenticated attacker to execute arbitrary JavaScript in the context of a victim's browser session on the WordPress login page, potentially stealing session tokens or credentials. If the full RCE chain is completed — requiring the victim to be socially engineered into interacting with attacker-controlled content — the attacker can upload a malicious PHP plugin and achieve complete server-side code execution, resulting in full confidentiality, integrity, and availability compromise of both the vulnerable WordPress instance and potentially the underlying server (GitHub Advisory, The Hacker News). Given WordPress's market share, the scope of affected assets is extremely broad, with lateral movement possible if the compromised server shares infrastructure with other services.

Exploitability

Multiple functional proof-of-concept exploits are publicly available on GitHub, including a fully automated Python script (xss2shell.py) that implements the complete 5-stage XSS-to-RCE chain, as well as a Nuclei detection template (PoC Repo 1, PoC Repo 2). As of the time of reporting, there is no confirmed evidence of in-the-wild exploitation, and the NVD SSVC assessment notes exploitation as "none" (Feedly). The EPSS score is approximately 0.77%, reflecting a currently low but non-trivial probability of exploitation. The vulnerability is not listed in the CISA KEV catalog. Nessus detection plugin 333303 is available (Tenable).

Exploitation steps

  1. Reconnaissance: Identify internet-facing WordPress instances running versions 4.7 through 7.0.2 using tools like Shodan, Censys, or the public Nuclei template targeting wp-login.php.
  2. Craft malicious website: Set up an attacker-controlled third-party website containing a crafted URL or iframe pointing to the target's wp-login.php with a malicious payload injected into the log parameter (e.g., log=<area id=ajaxurl href=/?rest_route=/&_jsonp=...>).
  3. Social engineer the victim: Lure a WordPress administrator to visit the malicious website via phishing email, social media, or other means, causing their browser to load the crafted login page URL.
  4. XSS execution and DOM clobbering: The injected JavaScript executes in the victim's browser context on the WordPress login page, using DOM clobbering to override the ajaxurl variable and redirect REST API calls.
  5. JSONP hijacking / SOME technique: The attacker's script leverages JSONP endpoints and the Same-Origin Method Execution technique to perform authenticated actions on behalf of the victim within the WordPress admin context.
  6. Application Password capture: The injected script creates or captures a WordPress Application Password for the victim's administrator account, providing persistent API-level authentication.
  7. Plugin upload for RCE: Using the captured Application Password, the attacker's script sends a request to update.php?action=upload-plugin to upload a malicious PHP plugin ZIP archive, achieving remote code execution on the server (PoC Repo 1, PoC Repo 2).

Indicators of compromise

  • Network: Unusual outbound requests from the WordPress server to unknown external IPs following an administrator login event; HTTP requests to wp-login.php with abnormally long or encoded log parameter values containing HTML tags or JavaScript fragments.
  • Logs: WordPress access logs showing requests to wp-login.php?log=<...> with URL-encoded HTML/JS payloads; REST API calls to /wp-json/wp/v2/users/me/application-passwords from unexpected IP addresses; access log entries for wp-admin/update.php?action=upload-plugin not correlated with known admin activity.
  • File System: Newly uploaded or activated plugins in wp-content/plugins/ not recognized by site administrators, particularly ZIP-uploaded plugins with obfuscated PHP code or web shell functionality.
  • Process: Unexpected child processes spawned by the PHP/web server process (e.g., bash, curl, wget, python) following plugin activation.
  • WordPress Admin: Unexpected Application Passwords listed under administrator accounts in wp-admin/profile.php; newly activated plugins with no corresponding admin action in audit logs (PoC Repo 1, GitHub Advisory).

Mitigation and workarounds

The primary remediation is to update WordPress to version 7.0.3 or the corresponding patched minor release for your branch (e.g., 6.9.6, 6.8.7, 6.7.6, down to 4.7.34), all of which contain the backported fix (GitHub Advisory, WordPress Release). No official configuration-based workaround has been published; upgrading is the only confirmed fix. As a defense-in-depth measure, administrators should educate users about phishing risks, enforce multi-factor authentication on admin accounts, restrict plugin uploads to trusted administrators, and monitor Application Password creation events.

Community reactions

The vulnerability received significant media coverage shortly after disclosure, with The Hacker News, CyberSecurityNews, GBHackers, SOCRadar, Patchstack, and BrandeFense all publishing analyses within 24–48 hours of the advisory (The Hacker News, Patchstack, SOCRadar). The vulnerability trended on security-focused social media platforms including Mastodon, Bluesky, and Reddit, with community discussions emphasizing the urgency of patching given the public PoC availability (Reddit). NHS Digital and AUSCERT both issued cyber alerts to their constituencies (NHS Digital, AUSCERT). The ProjectDiscovery team merged a Nuclei detection template for the vulnerability within hours of public disclosure.

Additional resources


SourceThis report was generated using AI

Related WordPress vulnerabilities:

CVE ID

Severity

Score

Technologies

Component name

CISA KEV exploit

Has fix

Published date

CVE-2026-15413CRITICAL10
  • link-factory
NoNoAug 13, 2026
CVE-2026-18146HIGH7.2
  • fluentform
NoYesAug 13, 2026
CVE-2026-3639MEDIUM6.4
  • password-protect-page
NoNoAug 13, 2026
CVE-2026-14332MEDIUM5.4
  • ecwid-shopping-cart
NoYesAug 13, 2026
CVE-2026-3835MEDIUM5.3
  • prevent-direct-access
NoYesAug 13, 2026

Free Vulnerability Assessment

Benchmark your Cloud Security Posture

Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.

Request assessment

Get a personalized demo

Ready to see Wiz in action?

"Best User Experience I have ever seen, provides full visibility to cloud workloads."
David EstlickCISO
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
Adam FletcherChief Security Officer
"We know that if Wiz identifies something as critical, it actually is."
Greg PoniatowskiHead of Threat and Vulnerability Management