← All guides

What is CVSS?

The CVSS (Common Vulnerability Scoring System) rates the severity of a vulnerability on a scale of 0 to 10. Maintained by FIRST, it produces a score, a severity rating and a reproducible “vector”. It measures potential damage — not the likelihood that it happens.

An advisory says “CVSS 9.8”. Management asks whether that's worse than last week's 8.1. The honest answer fits on one page, and it starts with reading the vector rather than the number.

Two images to make it concrete

CVSS is the magnitude of an earthquake. A magnitude 8 earthquake releases enormous energy, whether it strikes a megacity or an uninhabited desert. Magnitude describes the event, never its consequences for you. That is exactly the relationship between a CVSS score and your information system.

CVSS is also the spec sheet of a car. It lists a top speed of 250 km/h. It says nothing about how fast you are driving, whether the road is wet, or whether someone else has the keys. Two images are better than one here: the first shows that the score is intrinsic, the second that it describes a potential that context may never realize.

The five severity levels

The score maps to a qualitative label, the one that appears in advisories:

CVSS scoreSeverity
0.0None
0.1 to 3.9Low
4.0 to 6.9Medium
7.0 to 8.9High
9.0 to 10.0Critical

These thresholds apply to CVSS 3.x and 4.0. The older CVSS 2.0 had only three levels and no “critical” label at all: the same flaw can therefore carry two different labels depending on the version used to score it.

Reading a vector field by field

The score doesn't come out of nowhere: it is calculated from a vector, a string that encodes eight decisions. Take the one for Log4Shell (CVE-2021-44228):

CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H

It reads left to right, like a sentence:

FieldValueWhat it means
AV — attack vectorN (network)Exploitable from the internet, with no prior access to the local network.
AC — attack complexityL (low)No special conditions: the attack works every time.
PR — privileges requiredN (none)No account needed.
UI — user interactionN (none)Nobody has to click anything.
S — scopeC (changed)The damage spills beyond the vulnerable component and reaches what sits behind it.
C / I / AH / H / HTotal impact on confidentiality, integrity and availability.

Resulting score: 10.0. Now the part almost nobody shows — what changing a single field does:

ChangeNew scoreWhat it means
S:CS:U (damage stays contained)9.8This is the famous “9.8” you see everywhere: unauthenticated remote code execution, with no scope change.
PR:NPR:H (an administrator account is required)9.1Requiring a privileged account shrinks the attack surface, yet costs only about one point: CVSS stays harsh when impacts are total.
AV:NAV:L (local access required)9.3Having to be on the machine already changes everything in practice… and almost nothing in the score.

Check it yourself: each of these vectors can be recalculated in the CVSS 3.1 calculator. It's the ten-minute exercise that takes you from “I read a number” to “I understand a rating”.

Base, threat, environmental: three layers

CVSS has three metric groups, and the vast majority of public databases publish only one.

  • Base: intrinsic severity, stable over time. It's the score you see 99% of the time.
  • Temporal / threat: adjusts for exploit maturity and whether a fix exists. It can only lower the base score.
  • Environmental: tailors the score to your context — asset criticality, compensating controls, your specific confidentiality or availability requirements.

The direct consequence: the score you read in an advisory was never calculated for you. The environmental layer, the one that concerns you, is yours to fill in — and almost nobody does.

Versions: 2.0, 3.0, 3.1 and 4.0

VersionWhat it changesWhere you see it
2.0 (2007)Coarser metrics, no “critical” level, impacts graded as partial/complete.Archives and old scanner reports.
3.0 (2015)Introduces the scope metric (Scope) and privileges required.CVEs published between 2016 and 2019.
3.1 (2019)Clarifies rounding and documentation; formulas identical to 3.0.The vast majority of NVD CVEs today.
4.0 (2023)Removes Scope and replaces it with two impact blocks: VC/VI/VA for the vulnerable system, SC/SI/SA for the systems behind it. Adds attack requirements (AT).A growing number of vendor advisories.

What the 4.0 change means in practice: a hypervisor flaw that compromises guest virtual machines is finally scored for what it is, instead of being squeezed into a single “scope changed” flag. All four versions can be compared in the calculator.

Heartbleed 7.5, Log4Shell 10.0: what the gap tells you

CVE-2014-0160 (Heartbleed) is rated 7.5 in CVSS 3.1 — “high”, not “critical”. Its vector assigns impact to confidentiality only: the flaw lets an attacker read the server's memory, without modifying or disrupting anything. On paper, that's less serious than code execution.

In reality, it exposed TLS private keys across a massive share of the web and triggered a worldwide certificate replacement campaign. CVE-2021-44228 (Log4Shell), rated 10.0, made even more noise — but the 2.5-point gap between the two does not measure the gap in real-world impact. CVSS rates a mechanism, not a consequence.

The most time-consuming mistake

What it means for you, in practice

A working rule that fits in four lines, ready to apply on Monday:

  1. Never sort by CVSS alone. Use it to break ties, not to set the order.
  2. For the flaws that affect you, read the vector before the score: AV:L or PR:H on a machine with no external access often means one less emergency.
  3. Fill in the environmental layer for your ten most critical assets — not for the thousand others. That's where the effort pays off.
  4. Record the version next to every score. A 7.0 in 2.0 and a 7.0 in 4.0 do not describe the same thing.

What CVSS does not tell you

FAQ

Who maintains CVSS?
The FIRST (Forum of Incident Response and Security Teams), an international consortium of incident response teams. NIST's NVD applies it to CVEs at scale, and in many cases the CNA scores its own publications.
What does a CVSS of 10 mean?
Maximum intrinsic severity: exploitable remotely, with no account and no click, with total impact that spills beyond the affected component. It does not mean the flaw is exploited — only that it would be devastating if it were.
CVSS 3.1 or 4.0: which one should you use?
Use the one your source publishes, and note which one it is. 3.1 still dominates the NVD; 4.0 is more granular and gaining ground among vendors. Never compare two scores from different versions without saying so: the formulas are not the same.
Does CVSS measure risk?
No, it measures severity. Risk combines severity, the probability of exploitation (EPSS), observed exploitation (KEV) and your actual exposure. Confusing the two is the most common mistake in vulnerability management.
Why do two sources give different CVSS scores?
Three causes: they don't use the same version of the standard, one applies temporal or environmental metrics the other ignores, or one CNA assessed a vector field differently from another. With the same version and the same vector, the base score itself is strictly reproducible.
Sources & official referencesCVSS 3.1 and 4.0 specification — first.org/cvss · Reference calculator and metric documentation — first.org · CVSS applied to CVEs — nvd.nist.gov.

Free plan, no card

Get only the CVEs that affect your actual estate.

Declare your components once. We alert you as soon as a flaw affects one of them, already prioritized by KEV and EPSS, on the channel of your choice. The first alert goes out at the next sync.

  • Free, no credit card
  • Built & hosted in France
  • Export your data at any time

Related reading

Create a free account