WordPress 7.0.3: login-screen XSS chains to PHP execution
CVE-2026-64638 is a pre-auth XSS on the WordPress login screen that escalates to PHP code execution. CVSS 8.9, found by an AI agent swarm. Update now.
The most-visited unauthenticated page on your WordPress site is the login screen, and until August 6 it would reflect attacker-controlled HTML back at whoever loaded it. CVE-2026-64638 is a pre-auth cross-site scripting flaw in wp-login.php that chains all the way to PHP code execution on the server. It carries a CVSS of 8.9, it is the highest-severity item in WordPress 7.0.3, and it affects every install from 6.4 through 7.0.2.
What actually happened
The researcher writeup from pwn.ai lays out the chain, and it's a good lesson in how small parsing inconsistencies compound.
An unauthenticated POST to /wp-login.php puts encoded HTML brackets in the log parameter. WordPress runs the username through sanitize_user() and wp_strip_all_tags(), but tag-like strings containing whitespace survive that pass — and get treated as valid HTML later. That gives an attacker a DOM element on the login page.
From there it uses user-profile.js, which WordPress enqueues on the login screen by default for password resets. Missing inputs resolve to undefined, an equality check passes that shouldn't, and the injected element clobbers the ajaxurl variable. That steers WordPress's own JavaScript at an attacker-chosen same-origin request. The finish is a Same Origin Method Execution technique that harvests an Application Password, then uses that credential over the REST API to upload a plugin ZIP containing PHP.
Two things to be precise about. The XSS alone needs no authentication and no interaction beyond a failed login. The full chain to code execution requires a logged-in single-site administrator to load the crafted URL, plus some specific deployment conditions. And as of now there are no reports of exploitation in the wild.
The other detail worth your attention: pwn.ai reproduced this with an autonomous multi-agent system, building on Paulos Yibelo's 2022 SOME research. AI agents are now finding real chained bugs in the most-deployed CMS on the internet.
Why this matters for your business
WordPress 7.0.3 fixed 12 vulnerabilities — XSS at several privilege levels, multisite privilege escalation, information disclosure, SSRF. Auto-updates roll it out, and backports go through the 4.7 branch. That is not the same as your site being patched.
We say this every time because every time we audit a small-business site, at least one of these is true: auto-updates are off because a plugin broke once in 2023, the site runs a managed host that batches updates on its own schedule, or nobody has logged into /wp-admin since the redesign. Go confirm the version string yourself. It takes thirty seconds.
Then fix the thing behind the thing: this chain ends at plugin upload because an administrator account had that power in a browser session. Cut the admin count to the people who need it, put DISALLOW_FILE_EDIT in wp-config.php, and audit your Application Passwords — most sites have stale ones from an integration nobody uses anymore.
Key takeaways
- CVE-2026-64638 is a pre-auth reflected XSS on the WordPress login screen, CVSS 8.9, fixed in 7.0.3 on August 6, 2026
- Affected versions run from 6.4 through 7.0.2, with backports issued through the 4.7 branch
- The chain escalates through a hijacked
ajaxurland Same Origin Method Execution to steal an Application Password and upload a PHP plugin - Escalation to code execution requires an administrator to load the crafted URL; the XSS itself needs nobody logged in
- 7.0.3 fixes 12 issues total, including multisite privilege escalation and SSRF — no in-the-wild exploitation reported yet
- pwn.ai found the chain with an autonomous multi-agent system, which shortens the window between patch and public exploit
"Auto-updates are on" is a belief, not a check. We audit WordPress builds for version drift, admin sprawl, and forgotten Application Passwords, then put a real update cadence behind it. See how we handle site maintenance or have us check what your site is running.
Sources: WordPress 7.0.3 release note, pwn.ai / Hadrian technical writeup, The Hacker News.
- #wordpress
- #cve
- #xss
- #patching
- #ai-security-research
Tommy Rush — Founder, Rush Commerce
Operator turned builder. 15+ years running operations — now shipping the systems businesses run on. More
Get The Rush Report weekly — one email, zero fluff.
Keep reading
Metabase zero-day: your BI tool holds every DB password
A CVSS 10.0 unauthenticated SQL injection in Metabase was exploited as a zero-day. Framework notified all customers. Patch, then rotate every connected credential.
Read itKemp LoadMaster RCE hits CISA KEV: patch by August 10
CVE-2026-8037 is a pre-auth command injection in Progress Kemp LoadMaster, now confirmed exploited. 792 attempts in 41 days. Patch and check your edge.
Read it