News and advice

WordPress: understanding and fixing CVE-2026-119977

A WordPress security update needs your immediate attention. The Canadian Centre for Cyber Security published advisory AV26-1117 on November 3, 2026. It identifies a WordPress Core vulnerability, CVE-2026-119977, added to CISA’s Known Exploited Vulnerabilities catalogue that same day. Canadian advisory.

For a business, the priority is to confirm the version actually installed, apply the appropriate fix and investigate suspicious activity. Enabling automatic updates does not prove that an update completed successfully.

Status as of November 4, 2026. This article distinguishes published facts from Nuagerie’s practical recommendations. It does not report an incident observed on a customer’s website.

On this page

What this vulnerability allows

The CVE record describes unauthenticated remote code execution during a full-package Core update. Predictable temporary directories accessible over the web make the attack possible. Wordfence assigns a CVSS score of 8.1 out of 10, High severity, with high attack complexity. CVE-2026-119977 record.

Code execution means an attacker can make the server’s software perform operations. Depending on the process’s permissions and accessible data, possible consequences include changing the website, accessing information or establishing persistent access. It does not automatically mean administrator access to the entire infrastructure.

For a store, orders and integrations therefore belong in the assessment. For a business information website, forms, redirects and the domain’s reputation matter too. These are possible impacts to assess, not confirmed losses reported in this advisory.

Why the timing of an update matters

A TOCTOU, or Time-of-check Time-of-use, race condition occurs when a resource can change between being checked and being used. A valid check at one moment therefore does not guarantee that the resource remains safe afterwards. MITRE’s CWE-367 definition.

Wordfence describes this sequence:

  1. A complete package is extracted beneath wp-content/upgrade.
  2. The temporary copy contains the WordPress installer.
  3. An attacker can reach it if web access and PHP execution are allowed there.
  4. The attack must finish before the temporary files are removed.

In laboratory observations, the window lasted seconds. Wordfence reports repeated requests attempting to catch it. An attempt is not a confirmed compromise. Wordfence technical analysis.

This mechanism is not a reason to disable updates. We recommend arranging the fix promptly and, where the team has the necessary control, checking protection of temporary directories before the intervention. Waiting indefinitely for a perfect configuration would leave other security issues unaddressed.

Which versions need checking?

The Canadian advisory summarizes the affected versions as those before 7.1.4. For older branches, the full version number matters: fixes were also backported. The following examples come from the Wordfence vulnerability record.

Installed branchLast affected version in that branchFirst version fixing this vulnerability
7.17.1.37.1.4
7.07.0.77.0.8
6.96.9.106.9.11
6.86.8.116.8.12
6.76.7.106.7.11
6.66.6.106.6.11

The same record lists older branches back to 4.7. This table identifies the fix threshold for this vulnerability, not a recommendation to keep an old version indefinitely.

WordPress states that only its latest version is actively supported. Backports are provided as a courtesy and their availability needs checking. An older installation therefore also needs a modernization plan. Official WordPress 7.1.4 announcement.

Why act now

Three dates explain the priority:

The KEV listing confirms that the risk extends beyond a theoretical scenario. It does not establish that any particular site was attacked. To decide on the response, we recommend considering the installed version, exposure and available evidence together.

An action plan for your website

1. Inventory installations and assign responsibility

List the main website, subdomains, staging copies and older installations that remain accessible. Record the full WordPress version and the person responsible for maintenance for each one. An overlooked copy can escape the main site’s maintenance process.

Ask for explicit confirmation of the version and the outcome of the last update. An old screenshot, the PHP version or an email announcing an available fix does not answer that question.

2. Prepare a usable recovery option

Check a recent backup of both the files and the database, its accessibility and the restoration method. WordPress recommends a backup before updating. Official update instructions.

For a store, also agree on how to preserve orders received during the intervention. Restoring a database can erase more recent transactions. A copy taken after a potential intrusion remains useful for investigation, but should not be assumed clean.

3. Apply the fix and check the result

In WordPress administration, Dashboard → Updates lets you check and apply the offered version. Use the established maintenance process if another team manages your site. Updating WordPress.

Our WP Toolkit guide covers preparation and testing. For a branch upgrade, arrange a prompt compatibility check on a protected copy. Avoid combining this urgent fix with a theme redesign or other nonessential changes.

After updating, record the installed version and test the functions that matter: administration, public pages, search, forms and checkout using an agreed test scenario. Disable real payments and outgoing messages on test copies. Keep errors and results so the responsible person can confirm that service has been restored.

4. Review evidence if an intrusion is possible

We recommend correlating update times with access logs and security alerts. Unusual web activity in temporary directories deserves review, particularly when it coincides with file or account changes. An HTTP status or an isolated request does not prove successful execution.

When symptoms exist, document the facts, preserve useful evidence and arrange containment, analysis and recovery. The response may include rotating credentials and invalidating sessions. A patch does not necessarily remove malicious access already established. WordPress guidance after a compromise.

Our guide, What to do if your WordPress website was hacked, helps prepare that response. A scan with no alerts is one piece of evidence, not a guarantee that the site is free of compromise.

What a firewall can contribute

An application firewall can help block requests, but its presence does not demonstrate coverage for this vulnerability. Check its rules, whether they are active and the path requests actually follow.

Wordfence illustrates the distinction: its basic mode loads protection with WordPress, while Extended Protection loads before PHP code, including direct requests. The effective configuration therefore matters as much as having the plugin installed. Wordfence firewall documentation.

As an additional precaution inferred from the described mechanism, we recommend having the administrator assess whether HTTP access to temporary directories can be denied before updating, then test the result. A maintenance page alone does not prove direct access is blocked. The rule must suit the server and cover access paths to the origin; it does not replace the patch.

This release fixes other issues too

WordPress 7.1.4 also addresses stored script injection, denial of service, disclosure and authorization issues. It updates bundled root certificates following the eMudhra revocation. These are separate from CVE-2026-119977. Release details.

Our eMudhra incident article explains that context. Patching WordPress Core also does not remove the need to follow advisories for plugins and themes.

How Nuagerie can help

For your WordPress hosting, distinguish platform protection, website maintenance and a possible investigation. Hosting management does not automatically include every application update or code repair. Maintenance and interventions depend on the agreed scope.

For an existing service, use our support contact details. Have the domain, full WordPress version, last update date and any symptoms ready. Do not send passwords or database copies in an ordinary support request.

Would you like to organize ongoing maintenance? Talk to us about your website to clarify responsibilities, backups, testing and checks after each intervention.

Keep reading