Un scanner remonte une liste de CVE assortie de scores comme 9.8 Critical
ou 5.5 Medium, et la question tombe aussitôt : par où commencer ? Cette leçon
donne les trois repères qui permettent de trier : la CVE, identifiant
public d'une faille, le CVSS, qui en estime la gravité, et l'EPSS,
qui estime la probabilité qu'elle soit exploitée, complété par le catalogue
KEV des failles exploitées pour de bon. Elle s'adresse à un DevOps ou un
développeur qui lit des rapports de scan. Les valeurs citées ont été relevées
le 1er octobre 2026 auprès de FIRST, de la NVD et de la CISA.
Ce que vous allez apprendre
Section intitulée « Ce que vous allez apprendre »- Décoder un identifiant CVE et savoir ce qu'il contient, et ce qu'il ne contient pas
- Interpréter un score CVSS et reconnaître ses limites
- Interroger l'EPSS et le catalogue KEV d'une vulnérabilité
- Prioriser une liste de CVE en croisant gravité, exploitation et exposition
- Expliquer pourquoi « 0 CVE » ne veut pas dire « 0 risque »
- Rattacher ce tri aux exigences SOCLE-VLN-INV-2 et SOCLE-VLN-VEX-2 du référentiel SOCLE
Qu'est-ce qu'une CVE ?
Section intitulée « Qu'est-ce qu'une CVE ? »Une CVE (Common Vulnerabilities and Exposures) est l'identifiant public d'une vulnérabilité connue, attribué par le programme CVE. Avant ce catalogue, chaque éditeur nommait la même faille à sa façon, et deux alertes pouvaient parler du même problème sans que personne le sache. Avec la CVE, un scanner, un avis d'éditeur et un ticket désignent la même faille par le même identifiant, ce qui permet de chercher le correctif et de comparer les outils.
Comment lire un identifiant ?
Section intitulée « Comment lire un identifiant ? »Un identifiant suit la forme CVE-ANNÉE-NUMÉRO, par exemple CVE-2024-3094, la
porte dérobée découverte dans la bibliothèque de compression xz. Contrairement
à une idée répandue, l'année est celle où l'identifiant a été attribué,
pas forcément celle de la découverte ni de la publication, et le numéro est
une simple séquence, sans signification de gravité ni d'ordre chronologique
fin. CVE-2024-3094 a été publiée à la NVD le 29 mars 2024.
Ce qu'une CVE contient, et ce qu'elle ne contient pas
Section intitulée « Ce qu'une CVE contient, et ce qu'elle ne contient pas »Une fiche CVE porte un identifiant, une description courte du problème et des références (avis d'éditeur, correctifs). Elle ne porte pas forcément de score : celui-ci est ajouté ensuite, par la NVD ou par l'éditeur. Elle ne dit pas non plus si la faille est exploitée dans la nature, ni si un correctif existe pour votre version. Ces trois informations viennent d'autres sources, décrites ci-dessous.
CVSS : le score de gravité, de 0 à 10
Section intitulée « CVSS : le score de gravité, de 0 à 10 »Le CVSS (Common Vulnerability Scoring System), maintenu par FIRST, note la gravité théorique d'une faille de 0 à 10. Le score se calcule à partir d'un vecteur qui répond à quelques questions : par quel accès attaque-t-on (réseau, local, physique), l'attaque est-elle complexe, faut-il des droits préalables ou une action de l'utilisateur, et quel est l'impact sur la confidentialité, l'intégrité et la disponibilité.
| Score | Niveau |
|---|---|
| 0 | Aucun |
| 0.1 à 3.9 | Faible (Low) |
| 4.0 à 6.9 | Moyen (Medium) |
| 7.0 à 8.9 | Élevé (High) |
| 9.0 à 10 | Critique (Critical) |
Le vecteur se lit et explique le score. Mesuré à la NVD :
CVE-2024-3094 (xz) obtient 10.0 avec le vecteur
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H : attaque réseau, peu complexe,
sans droit ni action de l'utilisateur, impact maximal. CVE-2021-23337, la
faille de lodash rencontrée dans la leçon SCA,
obtient 7.2 : son vecteur porte PR:H, l'attaquant doit déjà disposer de
privilèges élevés, ce qui abaisse la note. La version 4.0 du CVSS existe
depuis fin 2023, mais ces deux fiches ne portent qu'un score en version 3.1 :
vérifiez toujours la version du score que vous comparez.
EPSS : la faille sera-t-elle exploitée ?
Section intitulée « EPSS : la faille sera-t-elle exploitée ? »L'EPSS (Exploit Prediction Scoring System), publié lui aussi par FIRST, répond à une autre question : quelle est la probabilité qu'une faille soit exploitée dans les 30 prochains jours ? Il est recalculé chaque jour à partir d'observations réelles d'activité malveillante et des caractéristiques de la faille. Il complète le CVSS au lieu de le remplacer : une faille grave rarement attaquée et une faille moyenne très attaquée ne se traitent pas dans le même ordre.
Interroger l'API de FIRST
Section intitulée « Interroger l'API de FIRST »L'API publique de FIRST répond sans compte, en JSON. Voici la réponse relevée
pour CVE-2024-3094 :
curl -s "https://api.first.org/data/v1/epss?cve=CVE-2024-3094"{ "status": "OK", "status-code": 200, "version": "1.0", "access": "public", "total": 1, "offset": 0, "limit": 100, "data": [ { "cve": "CVE-2024-3094", "epss": "0.859740000", "percentile": "0.997240000", "date": "2026-09-29" } ]}Deux champs se lisent ensemble. epss est une probabilité entre 0 et 1 :
0.859740000 se lit environ 86 %, et non 0,86 %. percentile situe la
faille par rapport à toutes les autres : 0.997240000 signifie qu'elle est plus
probablement exploitée que 99,7 % des CVE notées. Le champ date rappelle que
le score change chaque jour : un score relevé il y a six mois ne décrit plus
la situation.
Le catalogue KEV : l'exploitation confirmée
Section intitulée « Le catalogue KEV : l'exploitation confirmée »Le catalogue KEV (Known Exploited Vulnerabilities) de la CISA, l'agence américaine de cybersécurité, liste les failles dont l'exploitation est confirmée, et non plus seulement probable. Mesuré le 1er octobre 2026 : il compte 1 730 entrées. Il contient CVE-2021-44228 (Log4Shell, ajoutée le 10 décembre 2021) et CVE-2023-44487 (HTTP/2 Rapid Reset), mais pas CVE-2024-3094 : malgré son CVSS de 10.0 et son EPSS de 0,86, la porte dérobée de xz a été repérée avant d'être exploitée à grande échelle. KEV et EPSS ne disent donc pas la même chose, et c'est pourquoi on consulte les deux.
Les scanners qui affichent l'EPSS
Section intitulée « Les scanners qui affichent l'EPSS »Tous les scanners ne remontent pas ces informations. Mesuré sur l'image
node:14, une ancienne image Node.js qui accumule les vulnérabilités : Grype 0.119.0 ajoute à chaque correspondance un champ epss et
un marqueur knownExploited issu du KEV, et sait trier par probabilité
d'exploitation. Trivy 0.74.0 ne porte aucun champ EPSS dans son rapport JSON.
Voici un extrait de la sortie de Grype, trié par EPSS :
grype node:14@sha256:2cafa3fbb0b6529ee4726b4f599ec27ee557ea3dea7019182323b3779959927f --sort-by epssNAME INSTALLED FIXED IN TYPE VULNERABILITY SEVERITY EPSS RISKlibnghttp2-14 1.36.0-2+deb10u1 1.36.0-2+deb10u2 deb CVE-2023-44487 High 100.0% (99th) 78.8 (kev)node 14.21.3 *18.18.2, 20.8.1 binary CVE-2023-44487 High 100.0% (99th) 78.8 (kev)libsystemd0 241-7~deb10u9 (won't fix) deb CVE-2023-50387 High 100.0% (99th) 75.0libwebp6 0.6.1-2+deb10u1 0.6.1-2+deb10u3 deb CVE-2023-4863 High 100.0% (99th) 85.6 (kev)La colonne EPSS donne la probabilité et le percentile, (kev) signale une
exploitation confirmée, et RISK est un score propre à Grype, dont la formule
lui appartient : servez-vous-en pour trier, pas comme une mesure absolue.
Notez la ligne (won't fix) : l'éditeur de la distribution ne corrigera pas ce
paquet, et la seule issue est de changer d'image de base.
Combiner les repères pour décider
Section intitulée « Combiner les repères pour décider »Aucun des trois repères ne suffit seul. Le CVSS dit la gravité si l'attaque réussit, l'EPSS dit la probabilité qu'elle soit tentée, le KEV dit qu'elle l'a déjà été. Il manque un quatrième repère, que seul vous connaissez : l'exposition du composant. Le tableau suivant donne une politique de départ, à ajuster à votre contexte.
| Situation | Repères | Action |
|---|---|---|
| Exploitation confirmée | présente dans le KEV | Corriger immédiatement |
| Grave et probablement exploitée | CVSS ≥ 9 et EPSS élevé | Corriger immédiatement |
| Grave, peu exploitée | CVSS ≥ 9, EPSS faible | Corriger cette semaine |
| Moyenne mais très exploitée | CVSS 4 à 6, EPSS élevé | Corriger cette semaine |
| Faible et peu exploitée | CVSS < 4, EPSS faible | Planifier ou accepter |
L'exposition module chaque ligne : la même faille passe devant les autres sur une API publique et derrière elles sur un environnement de test isolé. Le référentiel SOCLE en fait une exigence : SOCLE-VLN-VEX-2 demande une priorisation contextuelle, plutôt que fondée sur le CVSS seul.
Pourquoi « 0 CVE » ne veut pas dire « 0 risque »
Section intitulée « Pourquoi « 0 CVE » ne veut pas dire « 0 risque » »Un rapport « 0 CVE » signifie seulement : parmi les failles connues et répertoriées dans la base du scanner, aucune ne correspond aux composants qu'il a su détecter. Il ne couvre ni les failles encore inconnues (0-day), ni les composants que le scanner n'a pas vus, comme un binaire copié à la main dans l'image, ni les failles publiées mais pas encore analysées par la base qu'il consulte.
Les deux scanners mesurés sur node:14 l'illustrent : Grype y trouve 2 032
correspondances, et Trivy en relève 1 455. Ils ne lisent ni les mêmes
bases, ni les composants de la même façon. Croiser deux outils réduit les
angles morts, sans les supprimer.
Surtout, une grande partie du risque n'a pas de CVE du tout. Une base de données accessible sans mot de passe, une clé d'API publiée par erreur ou l'absence de sauvegarde ne sont pas des vulnérabilités de logiciel, et aucun scanner de CVE ne les trouve. Elles relèvent d'autres contrôles : audit de configuration avec Lynis, détection de secrets avec Gitleaks, revue d'architecture.
| Risque | Exemple | CVE ? |
|---|---|---|
| Mauvaise configuration | Base de données ouverte sans mot de passe | Non |
| Erreur humaine | Clé d'API publiée sur GitHub | Non |
| Architecture faible | Pas de sauvegarde, pas de supervision | Non |
| Faille inconnue | 0-day découverte demain | Pas encore |
Que faire d'une liste de CVE ?
Section intitulée « Que faire d'une liste de CVE ? »Une liste de cinquante CVE ne demande pas cinquante actions immédiates. Le tri se fait en trois questions, dans cet ordre, et chacune réduit la liste avant la suivante.
- Où est le composant ? Exposé sur internet, accessible aux partenaires, interne, ou cantonné à un environnement de test.
- Que disent les repères ? Présence dans le KEV, EPSS, CVSS, dans cet ordre de poids.
- Quelle action ? Corriger, atténuer ou accepter.
Les trois actions ne se valent pas. Corriger, c'est mettre à jour le composant, la seule issue qui supprime le risque. Atténuer, c'est réduire l'exposition en attendant le correctif, par un filtrage réseau ou une restriction d'accès. Accepter, c'est documenter pourquoi on ne corrige pas, pour une durée limitée. Le schéma ci-dessous résume ce tri, de la liste brute à l'une des trois actions.
Sur un parc de serveurs, le même tri s'applique à grande échelle : le plugin CVE de Rudder détecte les vulnérabilités sur chaque nœud et pilote les campagnes de mise à jour.
À retenir
Section intitulée « À retenir »- Une CVE est un identifiant public ; son année est celle de l'attribution, pas forcément de la découverte.
- Le CVSS mesure la gravité si l'attaque réussit ; son vecteur explique la note.
- L'EPSS estime la probabilité d'exploitation à 30 jours ;
0.86se lit 86 %, et il change chaque jour. - Le KEV liste les exploitations confirmées : CVE-2024-3094, CVSS 10.0, n'y figure pas.
- Grype affiche l'EPSS et le KEV ; Trivy 0.74.0 ne porte pas l'EPSS.
- « 0 CVE » ne couvre ni les 0-day, ni les composants non vus, ni les risques sans CVE.
- On trie par exposition, puis KEV, EPSS et CVSS ; une acceptation se documente et expire.
- Preuves attendues par SOCLE-VLN-INV-2 et VEX-2 : un inventaire enrichi par KEV et EPSS, et une priorisation contextuelle.
Contrôle de connaissances
Section intitulée « Contrôle de connaissances »Vérifiez que l'essentiel de cette leçon est acquis. Les questions portent uniquement sur ce qui vient d'être expliqué ici.
Contrôle de connaissances
Validez vos connaissances avec ce quiz interactif
Informations
- Le chronomètre démarre au clic sur Démarrer
- Questions à choix multiples, vrai/faux et réponses courtes
- Vous pouvez naviguer entre les questions
- Les résultats détaillés sont affichés à la fin
Lance le quiz et démarre le chronomètre
Vérification
(0/0)Score par domaine
Un domaine regroupe plusieurs guides et reçoit plusieurs questions : son score est plus fiable qu'un score par thème, qui porte souvent sur une seule question.
Bilan
Points forts
Aucun sujet réussi à 80 % sur au moins deux questions pour l’instant.
Points faibles
Aucun sujet sous le seuil de réussite.
À faire ensuite
Des indices pour retenter votre chance ?
Continuer le cours : Sécuriser les dépendances npm, PyPI et Go
Nouveau quiz complet avec des questions aléatoires
Retravailler uniquement les questions ratées
Retour à la liste des certifications
Ressources officielles
Section intitulée « Ressources officielles »Les quatre sources de cette leçon sont publiques et consultables sans compte.
| Ressource | Ce que c'est | Lien |
|---|---|---|
| CVE Program | Le catalogue officiel des identifiants | cve.org |
| NVD | Les CVE enrichies de leurs scores CVSS | nvd.nist.gov |
| EPSS | Les probabilités d'exploitation de FIRST | first.org/epss |
| KEV | Les exploitations confirmées, par la CISA | cisa.gov/known-exploited-vulnerabilities-catalog |