62,969
blocked exploit attempts targeting WordPress upgrade staging paths as of October 30, 2026
43%
of all websites worldwide run WordPress Core, the entire affected version range 4.7.0-7.1.3
November 6
CISA KEV remediation deadline for CVE-2026-119977 - federal agencies must patch by this date
CVSS 8.1
severity score for CVE-2026-119977; rated High with no credentials and no user interaction required

Reach 50,000+ security professionals

Sponsor a newsletter slot and put your brand in front of CISOs, engineers, and IT decision-makers.

Summarize with:

CVE-2026-119977 is a CVSS 8.1 race condition in WordPress Core that lets unauthenticated attackers execute arbitrary PHP during the core upgrade process, and attackers have already fired 62,969 exploit attempts at WordPress sites as of October 30, 2026.

WordPress CVE-2026-119977 affects every installation running Core versions 4.7.0 through 7.1.3, covering an estimated 43 percent of all websites. WordPress released version 7.1.4 on October 28, 2026 to patch the flaw across all supported branches back to 4.7. CISA added CVE-2026-119977 to its Known Exploited Vulnerabilities catalog on November 3, 2026, ordering all federal civilian agencies to patch by November 6.

The flaw exploits a time-of-check-to-time-of-use (TOCTOU) design weakness in WordPress's core upgrade mechanism. When WordPress begins a core update, it creates a staging directory at a predictable path under wp-content/upgrade/ and extracts new files there before promoting them to the live install. During that window, the staging directory remains web-accessible. An attacker who can predict or enumerate the staging path can place setup-config.php with malicious PHP that executes before WordPress validates the update's integrity. No authentication, no credentials, and no prior access to the site are required.

CISA's accelerated three-day remediation window signals active, confirmed exploitation at scale. WordPress administrators running any version below 7.1.4 are exposed every time a user or automated updater runs a core upgrade. The upgrade to 7.1.4 is available through the WordPress admin dashboard right now. The CISA deadline is November 6. Act before attackers win the race.

How Does the WordPress Core Upgrade Race Condition Work?

The WordPress core upgrade process has two distinct phases that CVE-2026-119977 exploits. In phase one, WordPress downloads the new core package and extracts its contents into a staging directory at wp-content/upgrade/[version-string]/. In phase two, WordPress verifies the extracted files and then promotes them to the live web root. The race condition lives in the gap between phases one and two.

During phase one, the staging directory at wp-content/upgrade/[version-string]/ is web-accessible. The version string used as the directory name is predictable: it corresponds to the WordPress version being installed, which is publicly known. An attacker continuously probing for paths matching /wp-content/upgrade/*/setup-config.php can win the race by writing malicious PHP into that path before WordPress's integrity check runs.

The setup-config.php file is WordPress's initial configuration script. Because WordPress checks for its presence as part of the upgrade flow, a malicious replacement executes in the context of the web server process, giving the attacker code execution without any authentication requirement. The attacker controls timing and can automate thousands of probes per second against exposed sites.

WordPress 7.1.4 closes the race by randomizing the staging directory name using a cryptographically unpredictable suffix rather than the version string alone. The fix also adds an integrity guard that validates staged files against WordPress.org signatures before promotion and places an index.php stub in the upgrade directory to prevent PHP execution from that path. Sites that upgrade to 7.1.4 immediately stop being exploitable. Sites that remain on 7.1.3 or below remain vulnerable every time the update mechanism runs.

MITRE ATT&CK technique T1190 (Exploit Public-Facing Application) covers the initial access vector. If the attacker successfully writes a webshell, persistence follows via T1505.003 (Server Software Component: Web Shell).

Who Is Exposed to CVE-2026-119977?

Every WordPress site running Core 4.7.0 through 7.1.3 is vulnerable when a core upgrade runs. That version range covers every WordPress release dating back to December 2016, meaning the entire active WordPress install base is at risk unless updated to 7.1.4 or a backported security release.

The vulnerability is not limited to sites that manually trigger updates. WordPress's auto-update feature, enabled by default since version 3.7, automatically runs core minor version updates in the background. Sites configured for automatic updates are exposed to the race condition every time WordPress self-updates, without any administrator action.

Shared hosting environments present heightened risk. Many managed WordPress hosts run core updates across thousands of tenant sites simultaneously within a narrow maintenance window. An attacker who monitors a hosting provider's upgrade schedule can coordinate mass exploitation attempts against all sites updating at once.

The attack requires the wp-content/upgrade/ directory to be reachable from the internet. Standard WordPress installations do not restrict web access to this directory by default. Sites that apply server-level rules blocking access to wp-content/upgrade/ close this attack surface even without upgrading to 7.1.4, though the upgrade remains mandatory as the only complete fix.

E-commerce platforms, media publishers, government portals, and healthcare patient portals all rely on WordPress and all face the same upgrade-window exposure. The WP2Shell WordPress pre-auth RCE attack from August 2026 demonstrated that WordPress pre-auth vulnerabilities see active weaponization within 24 to 48 hours of disclosure, a pattern that holds for CVE-2026-119977 as well.

Free daily briefing

Briefings like this, every morning before 9am.

Threat intel, active CVEs, and campaign alerts, distilled for practitioners. 50,000+ subscribers. No noise.

Active Exploitation: 62,969 Attempts in 48 Hours

Wordfence reported 18,500 exploit attempts targeting staged wp-content/upgrade/*/setup-config.php paths in the first 21 hours after CVE-2026-119977 was publicly disclosed. The total reached 62,969 blocked attempts by October 30, 2026, two days after the WordPress 7.1.4 patch release. This trajectory indicates automated, large-scale scanning infrastructure pointed at WordPress sites globally.

CISA's November 3 KEV addition accelerated urgency because the agency observed exploitation beyond opportunistic scanning. The three-day federal deadline (November 6) reflects CISA's assessment that actively exploited vulnerabilities at this scale require emergency response rather than standard patch cycles.

No single threat actor has been publicly attributed to the CVE-2026-119977 exploitation campaign as of this writing. The attack pattern matches financially motivated actors deploying webshells as initial access for cryptomining, credential harvesting, and ransomware staging rather than a targeted espionage operation. Wordfence telemetry shows attack sources spread across dozens of ASNs, consistent with a botnet-driven mass scanning campaign rather than a coordinated state-sponsored operation.

The timing matters for defenders. Attackers are not waiting for site administrators to initiate upgrades; they are monitoring for active upgrade sessions in real time. Any site running WordPress 4.7.0 through 7.1.3 that processes an automatic or manual update before applying 7.1.4 faces an exploitation window measured in seconds.

The pattern parallels similar upgrade-path attacks seen against other CMS platforms in 2026, including the Ivanti Connect Secure zero-day chain that saw exploitation within hours of patch publication, confirming that attackers monitor CVE disclosures and KEV additions as triggers for immediate scanning campaigns.

“The upgrade button is the attack surface. We observed automated probes within minutes of the staging path becoming accessible during test upgrades.”

CiphersSecurity Research Team, November 2026

Indicators of Compromise for CVE-2026-119977

No public C2 IP addresses, malicious domains, or file hashes have been attributed to the CVE-2026-119977 campaign as of November 4, 2026. The attack is behavioral: exploitation leaves traces in web server access logs and file system events rather than in network-layer threat intel feeds.

The primary web log indicator is repeated HTTP requests targeting paths matching /wp-content/upgrade/[version-string]/setup-config.php. These requests appear as GET or POST requests in access logs. A single probe is consistent with a security scanner; ten or more probes across a short window from the same source IP signals active exploitation attempts. HTTP 404 responses from the staging path indicate the attacker has not yet won the race. An HTTP 200 response from /wp-content/upgrade/*/setup-config.php during or immediately after a core upgrade should be treated as confirmed compromise.

The file system indicator is a PHP file created in the wp-content/upgrade/ directory by an external request process rather than the WordPress upgrade routine itself. The WordPress upgrade process creates files in this directory using the PHP CLI process (php or php-fpm) initiated by an authenticated admin session. A PHP file appearing in wp-content/upgrade/ from a web server process (apache2, nginx, lighttpd) during or immediately after a failed upgrade is a webshell placement artifact.

Defenders should also check wp-config.php modification timestamps and PHP error logs for unexpected function calls originating from the upgrade staging path.

Subscribe to unlock Indicators of Compromise

Free subscribers unlock full IOC lists, Sigma detection rules, remediation steps, and every daily briefing.

Sigma Detection Rules for the WordPress Upgrade Race Condition

Two detection rules cover the primary attack phases: initial staging-path probing via web access logs and PHP file creation in the upgrade staging directory. Both carry experimental status; validate against your environment's log format before enabling automatic blocking.

Subscribe to unlock Sigma Detection Rules

Free subscribers unlock full IOC lists, Sigma detection rules, remediation steps, and every daily briefing.

Subscribe to unlock Sigma Hunt Queries

Free subscribers unlock full IOC lists, Sigma detection rules, remediation steps, and every daily briefing.

Subscribe to unlock WAF Detection Rules

Free subscribers unlock full IOC lists, Sigma detection rules, remediation steps, and every daily briefing.

Patch and Remediation Steps for CVE-2026-119977

The upgrade to WordPress 7.1.4 is the only complete fix for CVE-2026-119977. The patch randomizes the staging directory name and adds file integrity validation before promoting staged files. All supported WordPress branches from 4.7.x through 7.1.x have received backported security updates. The steps below address both immediate patching and site hardening against the upgrade-window attack vector.

Apply official patch →www.cisa.gov/news-events/alerts/2026/11/03/cisa-adds-one-known-exploited-vulnerability-catalog

Subscribe to unlock Remediation & Mitigation steps

Free subscribers unlock full IOC lists, Sigma detection rules, remediation steps, and every daily briefing.

Why WordPress Core CVE-2026-119977 Matters for Every Website Administrator

WordPress powers 43 percent of all websites. No other CMS flaw in 2026 carries a comparably wide blast radius. CVE-2026-119977 is unusual even within that context because the attack surface is activated by a routine security operation: applying a core update. The conventional advice for every CMS vulnerability is "patch immediately." For CVE-2026-119977, following that advice without first blocking web access to wp-content/upgrade/ briefly exposes the site to the exact attack the patch is designed to prevent.

This is not a reason to delay patching. It is a reason to sequence the response correctly: block the upgrade staging directory at the server or WAF level first, then apply the update to 7.1.4. Sites that add the server-level block before triggering the upgrade never expose the vulnerable staging path during the update process.

The CISA KEV addition on November 3 with a November 6 deadline reflects the agency's real-time assessment that exploitation is occurring at scale, not just opportunistic scanning. Wordfence's telemetry showing 62,969 blocked attempts by October 30 represents only the attacks that hit sites with Wordfence installed. Unprotected sites running WordPress 4.7.0 through 7.1.3 have no analogous sensor.

The WP2Shell WordPress pre-auth RCE from August 2026 showed that WordPress pre-auth vulnerabilities see active weaponization within hours of disclosure. CVE-2026-119977 follows the same pattern and benefits from the same defense: eliminate the attack surface, then apply the patch, then verify integrity.

Defenders managing more than ten WordPress installations should audit each site's current core version, server-level access controls for wp-content/upgrade/, and auto-update configuration before the November 6 deadline. Sites running managed WordPress hosting should confirm with their provider that the 7.1.4 upgrade has been applied platform-wide.

The bottom line

WordPress CVE-2026-119977 turns the core upgrade process into an attack window, and attackers have already fired 62,969 documented exploit attempts. The CISA KEV deadline is November 6. Block web access to wp-content/upgrade/ at the server or WAF level first to prevent exposure during the update process. Then upgrade to WordPress 7.1.4 immediately through the admin dashboard or WP-CLI. Run wp core verify-checksums after updating to confirm file integrity. Any site that ran a core upgrade in the last week without that server-level block should be audited for compromise before the deadline.

This analysis is generic. create a free account to score threats like this against your own stack.

Frequently asked questions

What is CVE-2026-119977?

CVE-2026-119977 is a CWE-367 time-of-check-to-time-of-use (TOCTOU) race condition in WordPress Core 4.7.0 through 7.1.3 that allows unauthenticated attackers to execute arbitrary PHP code during the core upgrade process. When WordPress begins a core update, it creates a staging directory at a predictable path under wp-content/upgrade/ and extracts new files there. The staging directory is web-accessible during this window. Attackers exploit this by placing malicious PHP files in the staging path before WordPress validates the upgrade, achieving code execution without credentials. CISA added it to the Known Exploited Vulnerabilities catalog on November 3, 2026.

Which WordPress versions does CVE-2026-119977 affect?

CVE-2026-119977 affects WordPress Core 4.7.0 through 7.1.3. This covers every WordPress release dating back to December 2016. WordPress released version 7.1.4 on October 28, 2026 to patch the vulnerability across all supported branches. Backported security releases are available for older major versions. Any installation running 7.1.3 or earlier that has not applied the security backport is vulnerable whenever a core upgrade runs.

How does the WordPress upgrade-window race condition work?

WordPress creates a staging directory at wp-content/upgrade/[version-string]/ during a core update. This directory is predictably named after the version being installed and is web-accessible during the upgrade. An attacker continuously probes for setup-config.php within that path. If the attacker writes malicious PHP to the staging directory before WordPress's integrity check runs (the race), that code executes in the web server process context. No authentication is required because the staging path is reachable by anonymous HTTP requests. WordPress 7.1.4 fixes this by randomizing the staging directory name and validating file integrity before promotion.

Is my WordPress site currently at risk from CVE-2026-119977?

Your site is at risk if it runs WordPress Core 4.7.0 through 7.1.3 and has not applied the 7.1.4 patch or a security backport. The vulnerability activates during core upgrade sessions. Sites with auto-update enabled are exposed automatically without admin intervention. Sites that blocked web access to wp-content/upgrade/ at the server or WAF level before applying the patch reduced their exposure during the update window. To confirm your version: in the WordPress admin, go to Dashboard > At a Glance, or run wp core version via WP-CLI.

What is the patch for CVE-2026-119977?

The patch is WordPress 7.1.4, released October 28, 2026. It fixes CVE-2026-119977 by randomizing the core upgrade staging directory name using a cryptographically unpredictable suffix rather than the version string, adding an integrity guard that validates staged files against WordPress.org signatures before promotion, and placing an index.php stub in the upgrade directory to prevent PHP execution. Update through Dashboard > Updates or run wp core update. All supported WordPress branches have received backported security fixes.

How do I detect if my site was exploited via CVE-2026-119977?

Search web server access logs for requests to paths matching /wp-content/upgrade/*/setup-config.php. An HTTP 200 response from that path during or after a recent core upgrade is a strong indicator of compromise. Check the wp-content/upgrade/ directory for PHP files not belonging to a standard WordPress core package using: find /var/www/*/wp-content/upgrade/ -name '*.php'. Run wp core verify-checksums via WP-CLI to identify any modified core files. Review PHP error logs for unexpected function calls originating from the upgrade staging path.

What is the CISA deadline for patching CVE-2026-119977?

CISA added CVE-2026-119977 to its Known Exploited Vulnerabilities catalog on November 3, 2026, with a remediation deadline of November 6, 2026 for all Federal Civilian Executive Branch agencies. This three-day window is significantly shorter than CISA's standard 14-day KEV deadline, reflecting active exploitation at scale. Non-federal organizations are not legally bound by the CISA deadline but should treat November 6 as the target date for all WordPress installations given the confirmed mass exploitation campaign.

Can I block CVE-2026-119977 without immediately upgrading WordPress?

Yes, as an interim measure: add a server-level rule blocking all HTTP requests to /wp-content/upgrade/ before initiating any core upgrade. For Apache, use `Deny from all` in a Location block; for Nginx, use `deny all;` in a matching location block. At the WAF layer, block requests where the URI path contains /wp-content/upgrade/ and matches a .php extension. This prevents the attack surface from being exposed during the upgrade window. This is a temporary control only; upgrading to WordPress 7.1.4 remains the only complete fix and must follow immediately.

Sources & references

  1. CISA Known Exploited Vulnerabilities Alert - CVE-2026-119977
  2. WordPress Core 7.1.4 Upgrade-Window Race RCE Analysis - Rescana
  3. WordPress Core Upgrade-Window RCE CVE-2026-119977 - Ostorlab
  4. WordPress CVE-2026-119977 Detection Guide - CiphersSecurity
  5. Inside WordPress CVE-2026-119977 - DEV Community
Summarize with:

Free resources

25
Free download

Critical CVE Reference Card 2025–2026

25 actively exploited vulnerabilities with CVSS scores, exploit status, and patch availability. Print it, pin it, share it with your SOC team.

No spam. Unsubscribe anytime.

Free download

Ransomware Incident Response Playbook

Step-by-step 24-hour IR checklist covering detection, containment, eradication, and recovery. Built for SOC teams, IR leads, and CISOs.

No spam. Unsubscribe anytime.

Follow Decryption Digest

Daily briefings + Google Top Stories in one step.

Enter your email and we'll subscribe you to the daily briefing and add Decryption Digest to your Google Search feed at the same time.

Free. Unsubscribe anytime. Google popup confirms the Top Stories add.

Eric Bang
Author

Founder & Cybersecurity Evangelist, Decryption Digest

Cybersecurity professional with expertise in threat intelligence, vulnerability research, and enterprise security. Covers zero-days, ransomware, and nation-state operations for 50,000+ security professionals every morning.

Daily Briefing

Get briefings like this every morning

Actionable threat intelligence for working practitioners. Free. No spam. Trusted by 50,000+ SOC analysts, CISOs, and security engineers.

Unsubscribe anytime.

Mythos Brief

Anthropic's AI finds zero-days your scanners miss.