Got something worth sharing? We want to hear from you.Share Your Knowledge →

WordPress Race Condition Vulnerability Under Active Attack

Listening to ArticlePlaying
0%
WordPress race condition vulnerability featured image for DevByteDaily

WordPress released version 7.1.4 on October 28, 2026, to fix a WordPress race condition vulnerability in its core update process. A race condition is a timing flaw where an attacker has to act within a narrow window before the system catches up. Within about two days, security firm Wordfence reported blocking tens of thousands of exploit attempts against sites still running older code.

The flaw lets an unauthenticated attacker win that timing race during a full core update and run code on the server. WordPress’s own release notes describe it only as a weakness in the upgrade process, with no severity score attached. A GitHub security advisory published the next day rates it “Low.” Yet several outlets covering the attack traffic cite a CVSS score of 8.1, which sits in the “High” band. That gap is real, and it matters for how urgently you should treat this.

DevByteDaily already covered the update itself in a step-by-step 7.1.4 update guide two days after release. This article picks up where that one left off: the exploitation activity, the attack volume Wordfence reported, and why researchers can’t agree on how dangerous the bug really is.

Almost every self-hosted WordPress site is potentially in scope here. The flaw sits in the default full-package update path that one-click updates and most hosting dashboards use, not in a specific plugin or theme. If you haven’t updated past 7.1.3 yet, this applies to you.

The sites most at risk are often the easiest to forget: an old staging environment, a client site nobody logs into monthly, or an install with automatic updates turned off. Those are the installs still sitting on an affected branch weeks after a patch ships, and a scanning script eventually finds them.

How the WordPress Race Condition Vulnerability Works

During a full-package core update, WordPress unpacks the new version into a temporary folder under wp-content/upgrade before moving it into place. Before 7.1.4, that folder used a predictable name, and a cleanup step removed the index.php file that normally blocks directory listing.

For a few seconds during each update, a complete copy of WordPress sat at a guessable web address. That copy included the installer file, wp-admin/setup-config.php, which runs without any existing site configuration. An attacker who requested that file at the right moment could point the installer at a database they control. From there, they could execute code inside the site’s own document root, according to the GitHub security advisory GHSA-4w3m-c66w-69mg.

No login is required. The attacker only needs the update folder to be reachable over the web and the timing to line up. That’s the race condition in plain terms. Two things happen on the same clock, WordPress cleaning up its temporary files and an attacker trying to grab one first, and whoever acts inside that window wins.

WordPress credits researcher Umut Bayram with finding and responsibly disclosing the issue. The fix in 7.1.4 adds 16 random characters to the staging folder’s name and restores the index guard, so the folder can no longer be guessed or browsed from outside.

ADVERTISEMENT

Winning a race like this against a live site you don’t control and can’t watch directly is harder than winning it in a lab. Network latency varies, update timing isn’t announced in advance, and the window only opens when an admin actually runs a core update. That gap between a controlled proof of concept and a reliable attack in the wild is a big part of what’s driving the disagreement over how serious this really is. The next section gets into that disagreement directly.

The GitHub advisory lists every branch from 4.7 through 7.1.3 as affected. Fixes were backported all the way down, so 7.0.8, 6.9.11, 6.8.12, 6.7.11, 6.6.11, and more than a dozen older point releases carry the same patch. The full list of patched versions is on the advisory itself.

One detail worth knowing: this specifically affects the full-package update method, where WordPress downloads and extracts an entire fresh copy of core. That is the default path for most sites, including automatic background updates and the one-click button in wp-admin. A handful of hosts and management tools use file-diff or incremental update methods instead, which don’t extract a full package the same way. Either way, the patched branch protects you once you’re on it.

Why Attackers Moved So Fast

Wordfence shipped a firewall rule for this flaw roughly three hours after WordPress released 7.1.4. Attack traffic reportedly started within nine minutes of that rule going live, according to tech news outlet Techaeris. Within the first 24 hours, Wordfence reported blocking 62,969 attack attempts tied to this vulnerability. The Hacker News was first to widely report that number, and other outlets covering the same Wordfence data corroborated it.

The traffic pattern looked less like scattered probing and more like organized testing. Two of the largest attack sources repeatedly polled small groups of sites for roughly 14.5 hours. They cycled through staging-folder names and version strings, waiting for an update to run. Alex Thomas, who leads Wordfence’s Threat Response Team, put it plainly: attackers “quickly understood the race condition and began targeting it.”

That speed is not unusual on its own. A new WordPress core disclosure, especially one with remote code execution in the description, typically gets turned into an automated scanning signature within hours of publication. What stands out here is the volume those scripts generated against a bug that WordPress and GitHub both describe as hard to pull off reliably.

Wordfence has not reported any confirmed successful compromises tied to this activity. The number of attempts is high, but attempts and breaches are not the same thing, and nobody has published a count of sites actually taken over. Paid Wordfence customers on the Premium, Care, and Response tiers received the firewall rule immediately. Free users get it on the standard 30-day delay, which puts their rollout around November 27, leaving a gap where free-tier sites rely on the core patch alone.

Why This WordPress Race Condition Vulnerability Has Two Severity Scores

Here is the part that trips people up. GitHub’s advisory rates the flaw “Low” and lists no CVSS score at all. Multiple outlets reporting on Wordfence’s attack data, including The Hacker News and SecurityWeek, cite a CVSS score of 8.1. Those two assessments are not describing different bugs; they are weighing the same bug differently.

A CVSS score blends how hard an attack is to pull off with how bad it is once it succeeds. Security research blog Ostorlab published a vector for this flaw of AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H, which marks attack complexity as High but the confidentiality, integrity, and availability impact as High across the board. High impact subscores push the overall number up even when the attack itself is genuinely hard to time. That is likely why outlets using that vector land at 8.1, while WordPress’s own security team calls the real-world risk Low.

ADVERTISEMENT

Security firm Patchstack reached a similar conclusion from the other direction, according to a report by webhosting.today. Patchstack rated the attack complexity high and said it “would not call it practical to exploit,” even while agreeing that a successful attempt would hand over the entire site.

GitHub’s “Low” rating reflects how narrow the exploitation window actually is. In lab testing, the vulnerable staging folder stayed reachable for only a few seconds per update, according to Wordfence’s own telemetry. Winning that race in the wild, against a site you don’t control, is harder than it sounds, even with automated polling running for hours at a time.

Ostorlab’s writeup also lists a CVE identifier, CVE-2026-119977, scored 8.1 and attributed to a Wordfence CVE Numbering Authority record published around October 31. WordPress’s own advisory had listed no CVE as of its October 29 publish date, so this appears to be a separate record filed after the fact by a different party. This reporter could not independently load that CVE record directly from cve.org, so treat the identifier as reported by secondary sources rather than fully confirmed.

The honest read is that neither number is wrong. “Low” describes the odds of pulling this off against any single site. 8.1 describes what happens if an attacker does. Neither rating is the final word on how worried you should be, and treating either one as the whole story misses the point.

What To Check on Your Site

Start with the obvious step: update to 7.1.4, or to the patched release for your branch, right away. If you haven’t done this yet, the step-by-step 7.1.4 update guide walks through backups, staging tests, and the actual update process in more detail than this article needs to repeat.

Some managed hosts moved ahead of their customers on this one. Pantheon marked 7.1.4 as “Action required” and rolled out platform-level mitigations against external access to the upgrade path, per the same webhosting.today report. It still told customers to update their own installs too. If your host runs a similar managed WordPress platform, it’s worth checking whether they already deployed something comparable, and updating anyway rather than assuming they covered it for you.

Beyond updating, a few checks are worth your time given the attack volume Wordfence recorded.

  • Confirm your web server or CDN cannot serve directory listings or PHP files from wp-content/upgrade. Patchstack recommends denying web access to that folder outright as an extra layer on top of the core patch, in case a future bug reopens a similar window.
  • Review your admin user list for accounts you don’t recognize, especially if you ran a core update during the days right after October 28 without blocking that folder first.
  • Check for unfamiliar plugins or PHP files, particularly anything new under wp-content/upgrade or wp-content/plugins that you did not install yourself.
  • If anything looks off, rotate credentials rather than assuming the worst. That includes any WordPress application passwords tied to third-party integrations. Those are easy to overlook during an incident review, and they rarely get checked during a routine update.

None of this requires a forensic audit for most sites. It is a reasonable amount of caution given the attack volume so far, even with no confirmed compromises reported yet.

The Other Bugs 7.1.4 Fixed

The race condition got the headlines, but 7.1.4 closed other holes too, most of which need an existing account on the site to reach. Several stored cross-site scripting bugs affected block markup, Customizer selective refresh, the categories block, and user logins, among other spots. Researchers including Rafie Muhammad, Ben Bidner of the WordPress Security Team, and Anthropic reported them. Most require at least Contributor-level access, and some need Editor or Author access, which limits who can actually trigger them.

A stored denial-of-service issue in the Interactivity API, reported by Jon Surrell, could freeze a visitor’s browser tab rather than the server itself. Two information-disclosure issues also went in. Unauthenticated users could discover unpublished Customizer changesets, and users with comment-moderation access but no edit rights could read private notes on posts they could not otherwise touch. The release also refreshed WordPress’s bundled root certificates after certificate authority eMudhra had one of its own revoked.

ADVERTISEMENT

A Short Timeline of the Exploitation

The exploitation activity moved fast once the patch and the advisory were both public. The pace is a useful way to see how little time site owners actually had to react. Here is what’s confirmed so far, based on WordPress.org, GitHub, and Wordfence’s own reporting.

Date Event
October 28, 2026 WordPress releases version 7.1.4, patching the core update race condition.
October 29, 2026 GitHub publishes security advisory GHSA-4w3m-c66w-69mg, rating the flaw “Low” severity with no CVSS score.
Within about 2 days of the patch Wordfence begins actively blocking exploitation attempts against the flaw.
First 24 hours of attacks Wordfence reports blocking 62,969 attack attempts, per its own telemetry.

Status Right Now

As of this writing, Wordfence has reported attack attempts in the tens of thousands but no confirmed successful compromises. WordPress’s own release notes still carry no CVSS score or CVE for the core flaw, even as outside trackers have started attaching one. The attack volume is real, and the severity story is genuinely split between sources rather than settled.

I’d treat this as a same-day update regardless of which severity number you believe. The cost of updating is small. The cost of being wrong about a 62,969-attempt attack wave is not. That asymmetry is the whole argument for not waiting on a CVSS number to make up your mind.

Responses

Leave a response

Your email address will not be published. Responses are reviewed before they appear.

Join the DevByte Daily list

AI, SEO and paid media coverage in your inbox. No spam.

ADVERTISEMENT

Share This

Questions or story tips?

Contact us

Enjoyed this article?

AI, SEO and paid media coverage in your inbox. No spam.