WordPress 7.1.4: the update-window vulnerability and what to do

WordPress 7.1.4, released on 28 October 2026, fixes 22 security flaws. The serious one lets an attacker run code on your server, without logging in, during the few seconds WordPress takes to unpack a core update. Attackers started trying it within minutes. Here is how to check your site, close the gap and spot anything that got in.

By the Moatline team at Next Nova Technologies · Published 31 October 2026 · 5 min read

Was your site still on 7.1.3 or older?See what your visitors and Google see right now. Free, no sign-up, about 20 seconds.
Check my site free

Short answer

  • Affected: WordPress 4.7 to 7.1.3, during the seconds a full core update is unpacked. No login needed.
  • Do now: confirm Dashboard → Updates shows 7.1.4 (or your branch’s fix). Don’t assume automatic updates worked.
  • Then: block web access to wp-content/upgrade. WordPress never needs it.

What happened

  • The release: WordPress 7.1.4 came out on 28 October 2026 with fixes for 22 security flaws, and the same fix was released for every branch back to 4.7.
  • The serious one: CVE-2026-119977, rated 8.1 out of 10, in WordPress 4.7 to 7.1.3. When WordPress installs a full core update, it unpacks the new files into a predictable folder inside wp-content/upgrade, and that copy includes the WordPress installer. On many servers that folder can be opened from the web, so an attacker who requests the installer at exactly the right moment can take it over and run code on the server. No login is needed.
  • The catch for attackers: the window normally lasts only a few seconds, until WordPress cleans up. So they keep asking, over and over, hoping to hit it.
  • Attacks: Wordfence saw the first attempt nine minutes after its firewall rule went live, more than 18,500 attempts in the first 21 hours and nearly 63,000 in a day. Two sources polled small groups of sites for about 14.5 hours, trying to catch an update in progress. No site is publicly confirmed hacked this way so far.
  • The fix: 7.1.4 uses a random folder name, adds a guard file and stops unsafe use of the staged settings.

Is my site affected?

Your site needs one of these versions, or newer in the same branch:

  • 7.1.4, 7.0.8, 6.9.11, 6.8.12, 6.7.11, 6.6.11, 6.5.14, 6.4.14, 6.3.14, 6.2.15, 6.1.16, 6.0.18
  • 5.9.20, 5.8.19, 5.7.21, 5.6.23, 5.5.24, 5.4.25, 5.3.27, 5.2.30, 5.1.28, 5.0.31, 4.9.35, 4.8.34, 4.7.39

To check, open Dashboard → Updates, or run wp core version over SSH. The free Moatline Malware Scanner also warns you on its Overview when your WordPress version is on this list or another one under attack, and checks twice a day.

Most sites got the update automatically, but don’t assume it worked. This week we fixed a client site where a file left behind by its previous host stopped the WordPress update halfway and took the site offline.

Update safely

  1. Back up files and database first.
  2. Update from Dashboard → Updates, or with wp core update.
  3. If the update fails halfway and the site shows “Briefly unavailable for scheduled maintenance”, delete the .maintenance file in the WordPress folder, then reinstall WordPress with wp core download --skip-content --force. Old hosting tools left in wp-admin or wp-includes after a move between hosts are a common cause.
  4. Check the result with wp core verify-checksums. A forced reinstall overwrites WordPress files but never deletes old ones, so remove anything it lists as “File should not exist”.

Block web access to the update folder

WordPress writes updates into wp-content/upgrade on the server itself and never needs to open that folder from the web. Blocking it closes this bug, and any similar one in a plugin or theme update, without affecting updates.

  • Apache or LiteSpeed: add this to the .htaccess file in your WordPress folder:
    <IfModule mod_alias.c>
    RedirectMatch 403 ^/wp-content/upgrade(?:/|$)
    </IfModule>
  • Nginx: add location ^~ /wp-content/upgrade/ { deny all; } to the site’s server block, or ask your host to.
  • Managed hosts (Kinsta, WP Engine, Flywheel and similar): ask support to block web access to /wp-content/upgrade/.

In the free Moatline Malware Scanner 1.4.0, this is one click: Protect → Files & code → Block web access to the update folder, and the Security Advisor recommends it on Apache and LiteSpeed servers. It can be undone just as easily.

Check nothing got in

If your site ran an older version during a core update, take five minutes to check:

  1. Look inside wp-content/upgrade. Between updates it should be empty or hold only temporary folders. A PHP file there you can’t explain is a red flag.
  2. Check your access logs (your host’s control panel usually has them) for requests to wp-content/upgrade/, especially setup-config.php, around the time WordPress updated.
  3. Check for administrators and plugins you don’t recognise, including admins hidden from the Users screen.
  4. Run a full scan. Moatline checks core files against WordPress.org, plugins, uploads, must-use plugins and the database. See how to scan WordPress for malware.

The other 21 fixes

Most need an Author, Contributor or Editor account, or a logged-in user to view a booby-trapped page, so they matter most on sites with several writers:

  • Stored cross-site scripting in block markup, the Categories block, pagination and navigation labels, the Customizer, personal-data erasure requests, crafted usernames, and the Image and Playlist blocks.
  • Several Interactivity API issues, including a denial-of-service bug.
  • A leak of unpublished Customizer changes to logged-out visitors.
  • A permissions gap in the Notes REST API for some custom roles.
  • Updated root certificates after a certificate authority was revoked.

Sources: Wordfence and The Hacker News.

Other plugins are being attacked right now too. See the live list of WordPress plugins under active attack.

Don’t want to do this yourself? Our team cleans hacked WordPress sites every week: WordPress malware removal service, from $45, usually done within 24 hours.

Frequently asked questions

My site updates WordPress automatically. Do I need to do anything?
Check that the update actually happened: Dashboard → Updates should say 7.1.4, or the security release for your branch. Automatic updates fail more often than people think, for example when a host’s leftover file breaks the update halfway. Then block web access to wp-content/upgrade.
Was my site hacked if it was still on 7.1.3?
Probably not. An attacker has to hit the seconds-long window while a full core update is being unpacked, and so far no site is publicly confirmed hacked this way. If you were on an older version, a quick check of wp-content/upgrade, your administrators and your plugins is still worth five minutes.
Does blocking wp-content/upgrade break WordPress updates?
No. WordPress writes to that folder directly on the server and never opens it through the website. Blocking web access only stops outside visitors from opening files there.
I use Wordfence Free. Am I protected?
Wordfence released a firewall rule on 28 October to paying customers. Free users get it on 27 November 2026, after the usual 30-day delay. Updating WordPress fixes the flaw either way, and blocking the update folder works on every plan.
My site runs WordPress 4.6 or older. What should I do?
Those versions don’t get security fixes any more. Every branch from 4.7 onwards got a patched release, so move to a current version, test the site and keep it updated.

Scan your site for free

Moatline checks files, the database and page-builder content. Nothing changes unless you click a button.

More guides

All guides →