MDstable
NoteSnippetChecklistPlaybook

CVSS v3.1 — Calcul et scoring

Guide pratique du calcul CVSS v3.1 pour la qualification des vulnérabilités

noteintermediate 2025-05-10 3 min read
cvssscoringreportingvulnérabilitépentest

Structure du vecteur CVSS v3.1

CVSS31/AV_/AC_/PR_/UI_/S_/C_/I_/A_
| | | | | | | |
| | | | | | | Availability N/L/H
| | | | | | Integrity N/L/H
| | | | | Confidentiality N/L/H
| | | | Scope U/C
| | | User Interaction N/R
| | Privileges Required N/L/H
| Attack Complexity L/H
Attack Vector N/A/L/P

Métriques de base

Attack Vector (AV)

ValeurLabelSignification
NNetworkExploitable à distance via réseau
AAdjacentRéseau local ou même segment
LLocalAccès local requis (SSH, console)
PPhysicalAccès physique à la machine requis

Attack Complexity (AC)

ValeurLabelSignification
LLowPas de conditions spéciales requises
HHighConditions particulières (race condition, config...)

Privileges Required (PR)

ValeurLabelSignification
NNoneAucun privilège nécessaire
LLowCompte utilisateur basique suffisant
HHighAdmin/root requis

User Interaction (UI)

ValeurLabelSignification
NNonePas d'interaction utilisateur
RRequiredUne action utilisateur est nécessaire

Scope (S)

ValeurLabelSignification
UUnchangedL'impact reste dans le composant vulnérable
CChangedImpact sur des composants au-delà du périmètre initial

CIA Impact (C / I / A)

ValeurLabelSignification
NNoneAucun impact sur ce critère
LLowImpact partiel ou limité
HHighImpact total ou critique

Exemples de vecteurs courants

bash
# RCE sans authentification (Log4Shell CVE-2021-44228)
CVSS31/AVN/ACL/PRN/UIN/SC/CH/IH/AH 100 Critical
# SQLi avec extraction de données
CVSS31/AVN/ACL/PRN/UIN/SU/CH/IH/AN 91 Critical
# XSS stocké
CVSS31/AVN/ACL/PRL/UIR/SC/CL/IL/AN 54 Medium
# Privesc local (SUID binaire)
CVSS31/AVL/ACL/PRL/UIN/SU/CH/IH/AH 78 High
# Info disclosure (version header)
CVSS31/AVN/ACL/PRN/UIN/SU/CL/IN/AN 53 Medium

Calculateur CLI

bash
# cvss3 (pip)
pip install cvss
python3 -c "from cvss import CVSS3; c = CVSS3('CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H'); print(c.scores())"
# En ligne (NIST)
# https://nvd.nist.gov/vuln-metrics/cvss/v3-calculator

Temporal & Environmental metrics

CVSS31/AVN/ACL/PRN/UIN/SU/CH/IH/AH/EP/RLO/RCC
| | |
| | Report Confidence X/U/R/C
| Remediation Level X/O/T/W/U
Exploit Code Maturity X/U/P/F/H
TemporalXUPFH
Exploit MaturityN/AUnprovenPoCFunctionalHigh

Quand utiliser les métriques temporelles

  • E:P (PoC public) → réduit légèrement le score si pas encore exploité en masse
  • RL:O (Official Fix) → réduit quand un patch officiel existe
  • RC:C (Confirmed) → augmente si vuln confirmée par le vendor

Correspondance avec le reporting

Score 90100 CRITICAL badge rouge SLA
Score 7089 HIGH badge orange SLA 7 jours
Score 4069 MEDIUM badge jaune SLA 30 jours
Score 0139 LOW badge bleu SLA prochain cycle
Score 00 INFO badge gris best effort
💡 Tip —

Ne jamais inflater un score pour "faire peur". Un CVSS incorrect détruit la crédibilité du rapport. En cas de doute sur le scope (U vs C), documenter ton raisonnement dans le finding.

OPS·BRAIN v1.090 notes · Securitylocal