WordPress core version has known vulnerabilities

The WordPress core version on this site falls inside the affected range of at least one published vulnerability. Every site on that version is exposed to the same exploit, and core exploits are tried at internet scale.

Do this: Update WordPress core to the fixed version listed above. The CVEs listed have public exploits, and automated scanners try them against every WordPress site they find.
PassThe WordPress core version has no known vulnerabilities in the database, or the version could not be determined.
HighThe WordPress core version has known vulnerabilities.

The fix, in one snippet

Example to adapt WP-CLI
wp core update && wp core update-db

Illustrative values. Change the paths, hostnames and options to match your own site before using it.

The sections below explain what is tested, why it matters and the alternatives.

What we test

The version identified by wordpress-core-version is compared against records of type "core" in Scan.now's vulnerability database. That database is a processed copy of the Wordfence Intelligence vulnerability feed published by Defiant, Inc., as redistributed by the WPProbe project (Valentin Lobstein / Chocapikk, MIT licence). It holds more than 43,000 records covering plugins, themes and core; each record carries an affected version range, a severity, a CVE identifier, a CVSS score and vector, and whether exploitation requires authentication. A finding is raised when the running version falls inside any core record's range. The report lists the matching CVEs sorted by CVSS score, tags each with its access requirement (Unauth, Auth or Privileged), and shows the fixed version where the range has an upper bound. Scan.now never attempts to exploit anything; the result is a version comparison. Rated high by default. If the version was read only from a stale readme.html on a site that was patched by other means, the finding can be a false positive, which is why all three version sources are shown.

Why it matters

Core vulnerabilities are rarer than plugin ones but universal: an exploit for the WordPress 4.7.0 and 4.7.1 REST API content-injection flaw (CVE-2017-1001000) worked against every site on those versions, and defacement campaigns began within days of disclosure. Automatic background updates for minor releases have existed since WordPress 3.7 precisely to close that window, so a site showing a vulnerable core version usually means the mechanism has been disabled or broken. The Unauth, Auth and Privileged tags in the report are the triage key. An unauthenticated flaw with a high CVSS score is an emergency: anyone on the internet can use it. An authenticated one needs an account, which on a site with open registration or weak passwords is not much of a barrier. A privileged one requires an administrator or editor, which usually means it is a stepping stone rather than an entry point. The CVE and CVSS guide explains how to read the scores and vectors, and how to read a scan report gives a triage order.

How to fix it

Update core, run the database upgrade, and confirm the core files match the release checksums:

wp core update
wp core update-db
wp core verify-checksums

Then make sure it cannot fall behind again. In wp-config.php, check that automatic updates have not been switched off, and enable them:

define('WP_AUTO_UPDATE_CORE', true);
// remove or set to false if present:
// define('AUTOMATIC_UPDATER_DISABLED', true);

If the dashboard reports that updates are unavailable, the web server user cannot write to the WordPress directory, or DISALLOW_FILE_MODS is set; fix the permissions or update by deploying from your pipeline. On managed hosting where the host controls the version, ask them to move you to the current release. If any listed CVE was unauthenticated, check for signs it was used before you patched: unexpected administrator accounts, recently modified PHP files under wp-content/uploads/, and unfamiliar scheduled events:

wp user list --role=administrator
wp cron event list
find wp-content/uploads -name '*.php'

Re-run the WordPress scanner to confirm the version no longer matches.

Where this fits

WordPress core version has known vulnerabilities is check 5 of 10 that the website vulnerability scanner runs under wordpress plugins, themes and core, ordered the way they are worth fixing. That ordering is the point: Fixing this one while the check above it still fails buys less than it looks like.

Fix this one first

Above it in the same category sits Theme version with known vulnerabilities (high), where the identified theme is at a version with published vulnerabilities. An attacker who has that does not need this, so it is the better use of the same hour.

What fixing this still leaves open

WordPress core version has known vulnerabilities closes one route in. Immediately below it: Installed plugins identified, where installed plugins were identified from the REST API route index and from asset paths in the page, with versions read from each plugin's readme.txt; Installed themes identified, where the active theme (and its parent, if it is a child theme) was identified from asset paths in the page, with the version read from the theme's style.css header; REST API route index publicly readable, where the REST API index at /wp-json/ lists every registered namespace and route to anonymous visitors.

Found in the same scan

The website vulnerability scanner reports this alongside checks from other categories that are at least as serious, including Certificate chain and hostname validation, where the certificate presented for this hostname did not validate: The chain does not reach a trusted root, an intermediate is missing, the name does not match, or the certificate is self-signed or expired, and Exposed .env configuration file, where a .env configuration file is served from the web root. A single run of website vulnerability scanner answers all of them at once.

Prompt for an AI Hand this check to an assistant Sign in to copy it
The first few lines
You are a senior web engineer. I ran a security and SEO scanner against my site and it reported the finding below. Fix it properly rather than suppressing the symptom.

Finding: WordPress core version has known vulnerabilities (high severity)
Scanner check id: wordpress-vulnerable-core
17 more lines, including the evidence and the exact fix

The rest of this prompt names the pages and line numbers we found the problem on, the configuration to change, and the constraints a good answer has to respect. It is free, it just needs an account so the work is not scraped wholesale.

Sign in with Google

Signing in is free and takes one click. We store your email address and nothing else.

References

  1. Wordfence Intelligence: Vulnerability data feed
  2. WPProbe (Chocapikk): stealthy WordPress plugin scanner
  3. WP-CLI: wp core update
  4. CISA: Known Exploited Vulnerabilities Catalog

Related guides