Tag: core update

  • WordPress 7.1.4 Upgrade Race RCE: ~63k Attack Attempts in 24 Hours (2026)

    WordPress 7.1.4 Upgrade Race RCE: ~63k Attack Attempts in 24 Hours (2026)

    Short answer: WordPress 7.1.4 (released Oct 28, 2026) patches a race condition during complete-package core updates that can lead to unauthenticated remote code execution. Wordfence reports mass polling of staged setup-config.php paths under wp-content/upgrade/; The Hacker News cites about 62,969 blocked attempts in 24 hours. The issue affects WordPress 4.7 through 7.1.3 (advisory GHSA-4w3m-c66w-69mg), was reported by Umut Bayram, and is scored CVSS 8.1 (High) by Wordfence while WordPress rates it Low. No confirmed compromises were reported in the coverage we cite. Site owners should update now, deny web access to wp-content/upgrade/ at the server if still unpatched before the last update, and hunt logs for upgrade-path probes.

    Primary sources: The Hacker News (Ravie Lakshmanan, ~Oct 30), the WordPress 7.1.4 release notes, GitHub advisory GHSA-4w3m-c66w-69mg, and Rescana’s technical summary. Optional secondary count: Cyber Security News (~60,471). This piece is written for publishers and site operators who need a practical checklist, not a vulnerability deep-dive.

    What the WordPress 7.1.4 upgrade race RCE is

    Per WordPress’s advisory, during a core update that uses a complete package, older versions extracted new files into a predictable directory inside the web-served upgrade folder. An unauthenticated attacker who wins a race against that extraction can reach remote code execution. The staged tree often includes installer files such as setup-config.php, and on many hosts wp-content/upgrade/ is reachable over HTTP/PHP.

    Wordfence (via The Hacker News) summarized the conditions an attacker needs:

    • A full-package update that includes installer files.
    • Public web and PHP access to the staging tree under wp-content/upgrade/.
    • A predictable or discovered staging path.
    • Enough time to finish before WordPress cleans up the temporary files.

    Alex Thomas (Wordfence Threat Response) noted that lab windows often last only seconds, which makes a one-off request unlikely to succeed. That is exactly why sustained polling matters.

    Why ~63k attack attempts in 24 hours still matter

    The Hacker News reported that Wordfence blocked 62,969 attacks targeting the flaw over 24 hours. Two large sources repeatedly polled small groups of sites for roughly 14.5 hours, behavior consistent with trying to catch the brief upgrade window; other sources tested staging-directory and version-name variations.

    For operators, the lesson is operational, not theatrical:

    • Seconds-long windows scale with automation. Bots do not need a wide window if they poll continuously across many sites.
    • Plugin WAFs may never see the request. Wordfence has warned that a direct hit on a staged PHP file can bypass WordPress bootstrap, so a PHP-level firewall alone is not a substitute for patching and server deny rules.
    • Attempts ≠ confirmed takeovers. Coverage we cite reports probing and blocked attempts; Rescana notes no confirmed compromises in the reporting it reviewed. Still treat unpatched fleets as exposed during every core update.

    Severity: WordPress Low vs Wordfence 8.1 High

    WordPress marks GHSA-4w3m-c66w-69mg as Low and (at advisory publish) listed “No known CVE.” Wordfence scores the issue CVSS 3.1 8.1 (High) with high attack complexity, reflecting eventual RCE impact if the race is won. Some trackers report the issue as CVE-2026-119977 (Wordfence as CNA); prefer the GHSA id and Wordfence score in ops notes, and treat the CVE string as tracker-reported until your own CVE/NVD workflow confirms it.

    LensRating / IDWhat it emphasizes
    WordPress (vendor)Low · GHSA-4w3m-c66w-69mgNarrow race; courtesy backports to older branches
    WordfenceCVSS 8.1 HighUnauthenticated RCE impact if the race is won
    Trackers (secondary)Reported as CVE-2026-119977 by someUseful for ticket systems; verify against GHSA

    Who is affected and what to install

    The race condition was disclosed as affecting WordPress versions from 4.7 through 7.1.3. Fixed builds include 7.1.4 and backports on older branches (for example 7.0.8, 6.9.11, 6.8.12, and further courtesy releases listed on the 7.1.4 documentation page). WordPress reminds operators that only the latest major line is actively supported; 4.6 and earlier no longer receive security updates.

    Confirm the version you actually run after update (Dashboard → Updates, or fleet tooling). Auto-updates help many sites, but do not assume every install completed cleanly.

    Publisher / site-owner checklist

    1. Update now to WordPress 7.1.4 or the fixed release for your branch. Prefer a maintenance window you can monitor.
    2. Before the last unpatched update: deny web access to wp-content/upgrade/ at the web server (vhost / site-root .htaccess / Nginx location). WordPress needs filesystem access, not public PHP on that path. Do not rely on a deny file inside the upgrade folder alone; pre-fix unpackers can wipe that directory.
    3. Do not rely on a plugin WAF alone for requests that hit staged PHP without loading WordPress. Patch + server deny are the durable controls.
    4. Hunt logs around core-update times for requests to setup-config.php or other PHP under wp-content/upgrade/, especially high-frequency polling.
    5. After suspicious windows: check for unfamiliar administrator accounts, unexpected plugins, and PHP files you did not place.
    6. Inventory the long tail: sites with auto-updates off, agency-managed marketing sites, and unsupported 4.6-or-earlier installs.
    7. Document severity for stakeholders using both ratings (WordPress Low / Wordfence 8.1) so security and product teams do not talk past each other.

    If you operate multi-site or reverse-proxy stacks, keep server-level deny rules in the same change window as core updates — adjacent notes on our site include PHP CPU saturation in multi-site hosting and Nginx reverse proxy for subdirectory WordPress. Broader WordPress ops live under the WordPress category.

    What the fix changes (high level)

    Reporting summarized by Rescana (citing Wordfence / Patchstack) describes the 7.1.4 hardening as randomizing the staging directory, keeping an index guard in the upgrade folder, and preventing unsafe promotion of staged configuration data. You do not need to re-implement those internals yourself: install the fixed package and keep wp-content/upgrade/ off the public web.


    FAQ: WordPress 7.1.4 upgrade race RCE

    Is this an unauthenticated RCE on every WordPress site right now?

    No. Exploitation requires a full-package core update in progress, web/PHP access to the staging tree, a reachable path, and winning a short race. Patched sites (7.1.4 or the fixed branch release) close the issue. Unpatched sites remain exposed during updates.

    Why care if the window is only seconds?

    Because attackers poll continuously. Wordfence-linked reporting describes multi-hour polling campaigns and tens of thousands of attempts in a day. Automation turns a short window into a practical risk across large fleets.

    Should I block wp-content/upgrade before or after updating?

    If you are still on a vulnerable build, deny web access before you trigger the update that unpacks with the old upgrader. Keep the deny rule after patching as defense in depth. WordPress needs filesystem access to that folder; it does not need the folder to be publicly executable.

    Is there a CVE for this?

    Prefer GHSA-4w3m-c66w-69mg. WordPress’s advisory originally listed no known CVE. Some trackers report CVE-2026-119977 (Wordfence CNA). Use the GHSA and Wordfence CVSS 8.1 for technical notes; cite the CVE string only as reported by trackers until your own CVE workflow confirms it.

    Can a WordPress security plugin alone stop this?

    Not reliably by itself. Requests aimed at a staged PHP file under wp-content/upgrade/ may never bootstrap WordPress, so a plugin firewall can miss them. Update core, deny the path at the server, and treat WAF rules as complementary.

    Were sites actually compromised?

    The sources linked above describe exploitation attempts and blocked probes. Rescana notes no confirmed compromises in the reporting it reviewed. Absence of confirmed takeovers is not permission to delay patching.


    Bottom line: The WordPress 7.1.4 upgrade race RCE is a real, mass-probed race during complete-package core updates (GHSA-4w3m-c66w-69mg; Wordfence CVSS 8.1; WordPress Low). Update to 7.1.4 or your branch’s fixed release, deny public access to wp-content/upgrade/, and review logs for staged setup-config.php polling. Treat tracker CVE labels as secondary to the GHSA. For related hardening and ops context, see our robots.txt AI training token notes and schema markup for AI search when you next touch site security and structured data together.