# Common Vulnerability Scoring System

Dans le domaine de la sécurité informatique, Common Vulnerability Scoring System (CVSS) est un système d'évaluation standardisé de la criticité des vulnérabilités selon des critères objectifs et mesurables. Cette évaluation est constituée de 3 mesures appelées métriques : la métrique de base, la métrique temporelle et la métrique environnementale. Le score final est compris entre 0 et 10, 10 correspondant aux vulnérabilités les plus critiques.
La version actuelle de CVSS (CVSSv4.0) a été publiée en novembre 2023.

## Métriques

Le CVSS est construit à partir de la métrique de base qui nous donne une évaluation du CVSS de base qui sera ensuite pondérée avec la métrique temporelle puis avec la métrique environnementale. Ces trois métriques se définissent comme suit :
* la métrique de base est unique et immuable, elle se base sur les qualités intrinsèques de la vulnérabilité.
* la métrique temporelle est unique mais peut évoluer au cours du temps.
* la métrique environnementale est multiple et évolue en fonction de l'environnement informatique. Elle dépend du système informatique dans lequel elle est présente.

### Métrique de base
#### Métrique d'exploitation
##### Vecteur d'accès

Le vecteur d'accès (Attack Vector (AV)) définit comment une vulnérabilité peut être exploitée.
| Valeur | Description | Score |
| Local (Local (L)) | L'attaquant doit avoir soit un accès physique au système vulnérable (Exemple : Attaques via le port FireWire) soit avoir un compte local (Exemple : Attaque d'escalade de privilèges). | 0.395 |
| Réseau local (Adjacent Network (A)) | L'attaquant doit avoir accès au domaine de diffusion ou de collision du système vulnérable (Exemple : ARP poisoning, attaques Bluetooth). | 0.646 |
| Réseau (Network (N)) | L'interface vulnérable utilise le niveau 3 ou plus de la pile OSI. Ce type de vulnérabilité est communément décrit comme exploitable à distance. (Exemple : Un dépassement de tampon distant dans un composant réseau.) | 1.0 |

##### Complexité d'accès

La complexité d'accès (Attack Complexity (AC)) définit le niveau de difficulté d'exploitation de la vulnérabilité découverte.
| Valeur | Description | Score |
| Haut (High (H)) | Des conditions spécifiques sont nécessaires, comme une fenêtre d'exécution étroite ou un besoin d'utilisation de méthode d'ingénierie sociale qui pourraient être aisément détectée par des personnes compétentes. | 0.35 |
| Moyen (Medium (M)) | Il existe des conditions supplémentaires d'accès comme une limitation sur l'origine de l'accès ou le besoin que le système utilise une configuration non commune ou différente de celle par défaut. | 0.61 |
| Bas (Low (L)) | Il n'y a pas de condition particulière d'accès, comme un système disponible pour un grand nombre d'utilisateurs ou que la configuration est largement répandue. | 0.71 |

##### Authentification

La métrique d'authentification (Authentication (Au)) définit le nombre de fois qu'un attaquant doit s'authentifier sur la cible dans le but d'exploiter la vulnérabilité. Ceci fait référence spécifiquement au nombre de fois qu'une authentification est nécessaire une fois que l'accès au système a été obtenu. Ça n'inclut pas, par exemple, l'authentification au réseau utilisé pour accéder au système vulnérable. Pour des vulnérabilités exploitables localement, cette valeur ne devrait seulement être fixée à Unique ou Multiple si une authentification est nécessaire après avoir accédé au système.
| Valeur | Description | Score |
| Multiple (Multiple (M)) | L'exploitation de la vulnérabilité nécessite que l'attaquant s'authentifie deux fois ou plus, même si les authentifiants utilisés sont les mêmes à chaque fois. | 0.45 |
| Simple (Single (S)) | L'attaquant doit s'authentifier une seule fois pour exploiter cette vulnérabilité. | 0.56 |
| Inexistant (None (N)) | Il n'y a pas besoin que l'attaquant s'authentifie. | 0.704 |

#### Métrique d'impact
##### Confidentialité

La métrique de confidentialité (Confidentiality (C)) définit l'impact sur la confidentialité des données sur ou traités par le système.
| Valeur | Description | Score |
| Aucun (None (N)) | Il n'y a pas d'impact sur la confidentialité du système. | 0.0 |
| Partiel (Partial (P)) | Il existe un impact important en cas de diffusion de l'information mais l'étendue de la perte est limitée car seul une partie de l'information est disponible. | 0.275 |
| Complet (Complete (C)) | Il y a une diffusion complète de l'information, une fourniture de l'ensemble des données accessibles sur le système. | 0.660 |

##### Intégrité

La métrique d'intégrité(Integrity (I)) définit l'impact sur l'intégrité des données du système.
| Valeur | Description | Score |
| Aucun (None (N)) | Il n'y a pas d'impact sur l'intégrité du système. | 0.0 |
| Partiel (Partial (P)) | La modification de données est possible, mais l'étendue de la modification est limité. | 0.275 |
| Complet (Complete (C)) | Il y a une perte totale d'intégrité. L'attaquant peut modifier chaque fichier ou information du système ciblé. | 0.660 |

##### Disponibilité

La métrique de disponibilité (Availability (A)) définit l'impact de la disponibilité du système ciblé. Les attaques consommant de la bande passante, des cycles processeurs, de la mémoire, ou tout autre ressource affectent la disponibilité d'un système.
| Valeur | Description | Score |
| Aucun (None (N)) | Il n'y a pas d'impact sur la disponibilité du système. | 0.0 |
| Partiel (Partial (P)) | Il y a une légère perte de performance ou une perte de quelques fonctionnalités. | 0.275 |
| Complet (Complete (C)) | Il y a une perte totale de disponibilité de la ressource attaquée. | 0.660 |

### Métrique temporelle

La valeur des métriques temporelles varie au cours de la durée de vie de la vulnérabilité à mesure que :
* les exploits sont développés, divulgués et automatisés.
* les mesures d'atténuation et les correctifs sont rendus disponibles

### Métrique environnementale

Les métriques environnementales utilisent le score temporel de base et actuel pour évaluer la gravité d'une vulnérabilité dans le contexte du déploiement du produit ou du logiciel vulnérable. Cette mesure est calculée subjectivement, généralement par les parties concernées.