What a CVE actually is
CVE stands for Common Vulnerabilities and Exposures. It's just an ID number — like CVE-2024-XXXXX — assigned to one specific, publicly documented security issue in a specific piece of software. Think of it as a case number, not a description in itself. The useful information is everything attached to that ID, not the ID itself.
The four things that actually matter
Ignore the formatting and jargon and look for these four pieces of information — everything else is detail you can skip unless you're doing a deep investigation:
1. What software and version is affected. Every CVE specifies which plugin, theme, or WordPress core version(s) it applies to, usually as a range — for example, "affects versions 5.0 through 5.7.1." If you're not running an affected version, the CVE doesn't apply to you, full stop.
2. Whether a fix exists, and which version has it. This is the single most actionable piece of information. If a patched version exists and you haven't updated to it yet, that's your action item — update.
3. The severity score (CVSS). This is a number, generally 0–10, meant to indicate how serious the issue is. As a rough guide:
- 9.0–10.0 (Critical): update immediately, treat as urgent
- 7.0–8.9 (High): update soon, don't leave it for later
- 4.0–6.9 (Medium): worth addressing in normal maintenance
- 0.1–3.9 (Low): lower priority, but still worth fixing eventually
4. What the vulnerability actually allows. This is the part that gets buried in technical language but matters most for deciding how urgently to act. "Allows unauthenticated file upload" is a very different situation from "requires an existing administrator account to exploit."
A worked example
Here's a real one: CVE-2023-6449, an arbitrary file upload vulnerability in Contact Form 7.
Stripped down to just the fields that matter, an actual NVD entry for this looks like:
CVE-2023-6449
Affected: Contact Form 7 <= 5.8.3
Fixed in: 5.8.4
CVSS 3.1: 7.2 (High)
Vector: AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:H
(PR:H = Privileges Required: High)
That one line in the vector string — PR:H — is doing more work than the headline score. It's the difference between "anyone on the internet" and "someone who already has an editor account," and it's exactly the kind of detail that's easy to skip past if you only read the CVSS number.
Reading that with the four points above:
- Affected: Contact Form 7, versions up to and including 5.8.3
- Fixed in: 5.8.4 — so if you're already on 5.8.4 or later, you're not affected
- Severity: 7.2, High — worth updating soon, though not the most urgent category
- What it allows: this is the detail that actually matters most here. It is not unauthenticated — the CVSS vector's "Privileges Required: High" means an attacker needs an existing editor-level account or better before they can exploit it. That's a meaningfully smaller attack surface than "anyone visiting the site," which is exactly the kind of distinction that changes how urgently you should treat something.
Conclusion: if you're running an affected version, update to 5.8.4 — but also notice that the real urgency here hinges on whether an untrusted person could plausibly hold an editor account on your site, not just on the CVSS number alone.
A contrasting example: when the score and the access level agree
The CF7 example above is a good first case precisely because the CVSS number (7.2, High) undersells how contained it actually is — you need an existing editor account already. For contrast, here's one where a high score and easy access line up in the worst possible way: CVE-2023-32243, in Essential Addons for Elementor, a plugin with over a million active installs at the time.
Run through the same four points:
- Affected: Essential Addons for Elementor, versions 5.4.0–5.7.1
- Fixed in: 5.7.2
- Severity: 9.8, Critical — about as high as CVSS goes
- What it allows: an attacker who has never logged in and holds no account at all can reset any user's password — including an administrator's — just by knowing their username, then log in as them directly.
Notice what's different from the CF7 case: there, "Privileges Required: High" cut the real-world risk down from the headline score. Here, "Privileges Required: None" means the score and the actual danger point the same direction — anyone on the internet, zero prior access, straight to full admin control. That's the pattern a Critical score is supposed to represent, and it's exactly why the privileges-required field matters more than the number by itself in either direction.
Reading the rest of the vector string
The two examples above only leaned on one letter pair (PR). The full vector has a few more worth knowing, using CF7's AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:H as the reference:
AV(Attack Vector):Nmeans Network — exploitable remotely over the internet, the most common and most serious value. Both examples here areAV:N.AC(Attack Complexity):L(Low) means no special conditions or timing are needed to pull it off;H(High) would mean the attacker needs some difficult-to-arrange circumstance to line up first.UI(User Interaction):Nmeans the vulnerability fires with no action from a victim at all. If this wereR(Required), someone would need to click something or take an action first — a real, if smaller, mitigating factor.PR(Privileges Required): the one that did the most work in both examples above —N/L/Hfor none, low, or high existing access needed.
You don't need to memorize the full CVSS spec to use this — just knowing that AV:N + PR:N + UI:N together describe the worst realistic case (remote, no account, no victim action) gets you most of the way to correctly judging urgency from the vector string alone.
Where to actually look these up for your own site
Three free databases cover WordPress-specific vulnerabilities directly: Patchstack's database and WPScan's database both index by plugin/theme name and are usually the fastest way to check whether something you're running has an open CVE; NVD is the canonical, vendor-neutral source every CVE ultimately traces back to. One thing to expect: a CVE ID sometimes gets reserved and published before full technical details are filled in — you'll see a record that exists but says little more than "reserved." That's not a dead end, just a sign the disclosure is still in progress; check back, or look at the plugin's own changelog for the version that quietly fixed it in the meantime.
Why the score alone isn't the whole story
A high CVSS score on a plugin you don't even have installed doesn't affect you. A "medium" score on a vulnerability that's actively being exploited in the wild right now might deserve faster action than the number alone suggests. The score is a starting point for prioritization, not the final word — always check it against what you're actually running.
The takeaway
You don't need a security background to act on a CVE correctly. You need four answers: what's affected, is there a fix, how severe is it, and what does it actually let someone do. Get those four, and the rest of the report is optional reading.
- NVD: CVE-2023-6449 record
- FIRST: CVSS specification — how the score and vector string are actually calculated
- Patchstack Vulnerability Database — WordPress-specific CVE lookups
- WPScan Vulnerability Database — another free, WordPress-specific lookup source
- Patchstack: CVE-2023-32243 writeup — the contrasting example above
Get every vulnerability affecting your actual site explained this way automatically.
Install free →