CVE-2026-64638
WordPress vulnerability analysis and mitigation

Overview

CVE-2026-64638 is a pre-authentication reflected cross-site scripting (XSS) vulnerability in the WordPress login screen (wp-login.php), colloquially dubbed XSS2Shell. Under specific conditions involving social engineering, the XSS can be chained into remote code execution (RCE). The vulnerability affects all WordPress versions from 4.7 through 7.0.2; patched versions have been released for every supported branch back to 4.7, with the primary fix in WordPress 7.0.3. It carries a CVSS v4 base score of 8.9 (High) (GitHub Advisory). The vulnerability was discovered and responsibly disclosed by the team at pwn.ai (GitHub Advisory).

Technical details

The root cause is improper neutralization of user-supplied input in the WordPress login page, classified as CWE-79 (Improper Neutralization of Input During Web Page Generation — Cross-site Scripting) (GitHub Advisory). An attacker crafts a malicious third-party website that, when visited by a WordPress user, causes a specially crafted URL to be loaded against the target's wp-login.php, injecting arbitrary JavaScript into the login page context. The documented 7-step exploitation chain involves DOM clobbering via the log= parameter (e.g., <area id=ajaxurl href=/?rest_route=/&_jsonp=...>), JSONP hijacking, a Same-Origin Method Execution (SOME) technique, capture of WordPress Application Passwords, and ultimately plugin upload for PHP code execution (PoC Repository). Exploitation requires active user interaction — the victim must visit the attacker-controlled page while authenticated or subsequently authenticate — making full RCE escalation dependent on conditions outside the attacker's direct control (GitHub Advisory).

Impact

Successful exploitation of the XSS stage allows arbitrary JavaScript execution in the context of the victim's WordPress session, enabling session hijacking, credential theft, and unauthorized actions on the WordPress instance. When the full XSS-to-RCE chain is completed — requiring social engineering and victim interaction — an attacker can achieve complete server-side PHP code execution, upload malicious plugins, create rogue administrator accounts, exfiltrate all site data, and potentially pivot to the underlying server or hosted infrastructure (GitHub Advisory, Imperva Blog). Given WordPress's market share, the potential scope of affected assets is extremely broad, spanning millions of websites globally (The Hacker News).

Exploitability

Multiple fully functional public proof-of-concept exploits are available, including xss2shell.py — a Python script implementing the end-to-end 5-stage attack chain from XSS injection through plugin upload and RCE (PoC - Boreas37), and a second detailed 7-step PoC with concrete payload mechanisms (PoC - 686f6c61). Nuclei detection templates have also been published (Nuclei Template). The EPSS score is approximately 0.77%, and as of the available data, the vulnerability is not listed in the CISA KEV catalog and NVD's SSVC assessment indicates exploitation status as "none" (GitHub Advisory). Exploitation has been reported in the wild by multiple sources, and the vulnerability received significant attention from the security community within hours of disclosure (Cybersecurity Today).

Exploitation steps

  1. Reconnaissance: Identify target WordPress sites running versions 4.7 through 7.0.2 using tools like Shodan, Censys, or WPScan. Confirm the presence of a vulnerable wp-login.php endpoint.
  2. Craft malicious URL: Construct a URL targeting wp-login.php that injects a DOM-clobbering payload via the log= parameter, e.g., wp-login.php?log=<area id=ajaxurl href=/?rest_route=/&_jsonp=ATTACKER_CALLBACK>, exploiting insufficient input sanitization (PoC - 686f6c61).
  3. Host malicious third-party website: Set up an attacker-controlled website that automatically loads the crafted WordPress login URL in an iframe or via a redirect, triggering the reflected XSS in the victim's browser context.
  4. Social engineer the victim: Lure a WordPress administrator or privileged user to visit the malicious third-party website via phishing email, malicious ad, or other social engineering vector.
  5. Execute JSONP hijacking / SOME technique: The injected JavaScript leverages the clobbered ajaxurl to perform a JSONP callback, enabling Same-Origin Method Execution to interact with authenticated WordPress REST API endpoints.
  6. Capture Application Password: The injected script abuses the WordPress Application Passwords API to create or capture a valid application password for the victim's account.
  7. Upload malicious plugin: Using the captured credentials, authenticate to the WordPress admin panel and upload a ZIP-packaged PHP web shell as a plugin via update.php?action=upload-plugin, achieving server-side remote code execution (PoC - Boreas37, PoC - 686f6c61).

Indicators of compromise

  • Network: Unusual HTTP GET/POST requests to wp-login.php with encoded or suspicious values in the log= parameter containing HTML tags or JavaScript; outbound connections from the web server to unknown external IPs following a login page request; JSONP callback requests to attacker-controlled domains originating from the WordPress server.
  • Logs: Web server access logs showing requests to wp-login.php with URL-encoded HTML payloads (e.g., %3Carea, %3Cscript) in the log parameter; WordPress debug logs recording unexpected REST API calls to /wp-json/wp/v2/users/me/application-passwords; admin audit logs showing new Application Passwords created for administrator accounts without corresponding legitimate user activity.
  • File System: Newly uploaded or modified PHP files in the wp-content/plugins/ directory, especially ZIP-extracted directories with unfamiliar names; presence of web shell files (e.g., shell.php, cmd.php) in plugin or upload directories; unexpected payload.zip files in temporary or upload directories.
  • Process: Unusual child processes spawned by the web server process (e.g., Apache/Nginx/PHP-FPM spawning bash, sh, curl, wget, or python); unexpected outbound network connections from PHP worker processes.
  • WordPress Admin: New administrator accounts or Application Passwords created at unusual times; recently installed plugins not recognized by site administrators; changes to theme files or functions.php.

Mitigation and workarounds

WordPress has released patched versions for all supported branches: the primary fix is in WordPress 7.0.3, with backported fixes available for all branches back to 4.7 (e.g., 6.9.6, 6.8.7, 6.7.6, 6.6.6, 6.5.9, and corresponding releases for older branches) (GitHub Advisory). Site administrators should update immediately via the WordPress admin dashboard or by downloading the latest release from wordpress.org. As a defense-in-depth measure, WAF rules have been deployed by vendors including Cloudflare and Imperva to block exploitation attempts (Imperva Blog, Cloudflare Changelog). Additionally, educating users about phishing and social engineering risks is recommended, as exploitation requires victim interaction with a malicious third-party site (GitHub Advisory).

Community reactions

The vulnerability received rapid and widespread attention from the security community following disclosure on August 6–7, 2026. The Hacker News published a prominent article titled "New WordPress Pre-Auth XSS Could Lead to PHP Code Execution" (The Hacker News), and Heise Online covered it as "WordPress vulnerability: Login page opens door to server takeover" (Heise Online). Security vendors including Imperva, Check Point, F5, and SOCRadar published dedicated advisories and blog posts within days (Imperva Blog, SOCRadar). Government CERTs including Canada's CCCS (CCCS Advisory), Australia's AusCERT, and the UK's NHS Digital issued advisories urging immediate patching. Reddit communities including r/cybersecurity, r/Wordpress, r/Pentesting, and r/bugbounty saw active discussion threads, reflecting broad community concern about the XSS-to-RCE chain.

Additional resources

Linux Distribution fix status

Fix availability across major Linux distributions and their releases.

Debian

Fixed

bookworm

wordpress

Affected

sid

wordpress: 7.0.3+dfsg1-1

Fixed

trixie

wordpress: 6.8.7+dfsg1-0+deb13u1

Fixed

Ubuntu

Unknown

bionic (esm-apps)

wordpress

Unknown

devel

wordpress

Unknown

focal (esm-apps)

wordpress

Unknown

jammy

wordpress

Unknown

jammy (esm-apps)

wordpress

Unknown

noble

wordpress

Unknown

noble (esm-apps)

wordpress

Unknown

resolute

wordpress

Unknown

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-78361CRITICAL9.1
  • zipmoney-payments-woocommerce
NoYesSep 10, 2026
CVE-2026-82925HIGH8.1
  • site-reviews
NoYesSep 10, 2026
CVE-2026-77771HIGH7.5
  • miniorange-2-factor-authentication
NoYesSep 10, 2026
CVE-2026-81431HIGH7.2
  • registration-form-for-woocommerce
NoYesSep 10, 2026
CVE-2026-15889MEDIUM6.4
  • aruba-hispeed-cache
NoYesSep 10, 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