Skip to content

📊 CVSS Metrics Overview ​

🧮 Scoring · 📐 Base + Temporal + Environmental

A CVSS v3.x vector string is a sequence of metric short-names and values. Every metric belongs to one of three groups. The Base group captures the intrinsic qualities of the vulnerability; the Temporal group reflects how the vulnerability evolves over time; the Environmental group tailors the score to a specific deployment.

Metric Groups ​

The score is computed left to right: Base Score → Temporal Score → Environmental Score. Each later stage multiplies the previous score by its metric factors, so the Environmental Score is always the most specific (and final) number.

All Metrics ​

Short NameLong NameGroup# Values
AVAttack VectorBase4
ACAttack ComplexityBase2
PRPrivileges RequiredBase3
UIUser InteractionBase2
SScopeBase2
CConfidentialityBase3
IIntegrityBase3
AAvailabilityBase3
EExploit Code MaturityTemporal5
RLRemediation LevelTemporal5
RCReport ConfidenceTemporal4
CRConfidentiality Req.Environmental4
IRIntegrity RequirementEnvironmental4
ARAvailability Req.Environmental4
MAVModified Attack VectorEnvironmental5
MACModified Attack ComplexityEnvironmental5
MPRModified Privileges RequiredEnvironmental5
MUIModified User InteractionEnvironmental5
MSModified ScopeEnvironmental3
MCModified ConfidentialityEnvironmental5
MIModified IntegrityEnvironmental5
MAModified AvailabilityEnvironmental5

Vector String Structure ​

A vector string starts with the CVSS version prefix, followed by metric pairs in a fixed order:

CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
  • CVSS:3.1 — version prefix (3.0 or 3.1).
  • Base metrics come first, in the order AV / AC / PR / UI / S / C / I / A.
  • Temporal metrics follow: E / RL / RC (all optional).
  • Environmental metrics come last: CR / IR / AR / MAV / MAC / MPR / MUI / MS / MC / MI / MA (all optional).
  • Each pair is SHORT_NAME:VALUE. The X value means "Not Defined" and tells the scorer to fall back to the base value.

Temporal and Environmental metrics are optional. When omitted, the scorer applies their default (X / Not Defined) behaviour, which leaves the previous score unchanged.

Scoring Pipeline ​

  1. Base Score — computed from the 8 Base metrics. It never changes for a given vulnerability.
  2. Temporal Score — Base × E × RL × RC. Each temporal metric is a multiplier; X (Not Defined) acts as 1 (no change).
  3. Environmental Score — applies the requirement weights (CR/IR/AR) and the Modified metrics (M*) to refine the result for a specific environment.

Use the CLI to see all three at once:

bash
cvss score --all "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H/E:H/RL:O/RC:C/CR:H"
text
Base: 10.0 (Critical), Temporal: 9.4 (Critical), Environmental: 9.7 (Critical)

Per-Metric Pages ​

Base Metrics ​

Temporal Metrics ​

Environmental Metrics ​

Source ​

The metric definitions and scores live in pkg/vector/. Each metric is its own .go file exposing preset variables and, where needed, a version/scope-aware score helper.

Released under the MIT License.