Quand tu lances un scan de sécurité sur ton application ou ton serveur, tu
obtiens souvent une liste de CVE avec des scores comme 9.8 Critical ou
5.5 Medium. Mais que signifient vraiment ces chiffres ? Faut-il tout corriger
immédiatement ? Et pourquoi certaines failles « critiques » sont parfois moins
urgentes que d’autres ?
Dans ce guide, je t’explique simplement :
- ce qu’est une CVE (et pourquoi c’est utile) ;
- comment lire les scores CVSS sans paniquer ;
- comment utiliser EPSS pour savoir ce qui est vraiment exploité ;
- pourquoi « 0 CVE » ne veut pas dire « 0 risque » ;
- comment prioriser tes corrections de façon pragmatique.
C’est quoi une CVE ? L’essentiel en 2 minutes
Section intitulée « C’est quoi une CVE ? L’essentiel en 2 minutes »Une fiche d’identité pour les failles de sécurité
Section intitulée « Une fiche d’identité pour les failles de sécurité »Imagine un catalogue mondial des failles de sécurité connues. Chaque fois qu’on découvre un problème de sécurité dans un logiciel, on lui attribue un numéro unique : c’est une CVE (Common Vulnerabilities and Exposures).
Exemple concret :
CVE-2024-3094Ce numéro signifie : « faille numéro 3094 découverte en 2024 ». C’est comme un numéro de série qui permet à tout le monde de parler de la même faille, peu importe la langue ou le pays.
Pourquoi c’est utile ?
Section intitulée « Pourquoi c’est utile ? »Avant les CVE, quand une faille était découverte :
- Chaque éditeur lui donnait un nom différent ;
- Les équipes de sécurité ne savaient pas si deux alertes parlaient du même problème ;
- C’était le chaos pour suivre les correctifs.
Avec les CVE, tout le monde utilise le même identifiant. Quand ton scanner
affiche CVE-2024-3094, tu peux :
- chercher cette CVE sur Google pour comprendre le problème ;
- vérifier si ton éditeur a publié un correctif ;
- comparer avec d’autres outils qui utilisent le même numéro.
Ce qu’une CVE contient (et ne contient pas)
Section intitulée « Ce qu’une CVE contient (et ne contient pas) »Une CVE, c’est basiquement :
- un numéro unique (CVE-ANNÉE-NUMÉRO) ;
- une description courte du problème ;
- des liens vers plus d’informations.
Ce qu’elle ne contient pas forcément :
- un score de gravité (ajouté plus tard par d’autres organismes) ;
- la preuve qu’un pirate l’exploite vraiment ;
- un correctif tout prêt.
CVSS : le score de gravité (de 0 à 10)
Section intitulée « CVSS : le score de gravité (de 0 à 10) »Comment ça marche ?
Section intitulée « Comment ça marche ? »Quand une CVE est publiée, des experts lui attribuent un score CVSS (Common Vulnerability Scoring System) pour indiquer sa gravité. C’est une note de 0 à 10 :
| Score | Niveau | Ce que ça veut dire |
|---|---|---|
| 0 | Aucun | Pas vraiment une faille |
| 0.1 – 3.9 | Faible | Peu d’impact, difficile à exploiter |
| 4.0 – 6.9 | Moyen | Impact modéré ou exploitation complexe |
| 7.0 – 8.9 | Élevé | Impact important, exploitation possible |
| 9.0 – 10 | Critique | Impact majeur, exploitation facile |
Ce que le score prend en compte
Section intitulée « Ce que le score prend en compte »Le CVSS est calculé à partir de plusieurs questions :
- Comment attaque-t-on ? Via internet ? En local ? Faut-il un accès physique ?
- C’est facile ? Quelques clics ou plusieurs jours de travail ?
- Faut-il des droits spéciaux ? Être admin ? Avoir un compte ?
- Quel est l’impact ? Vol de données ? Prise de contrôle totale ? Simple ralentissement ?
Exemple concret
Section intitulée « Exemple concret »Prenons deux CVE :
| CVE | Score | Où ? | Urgence réelle |
|---|---|---|---|
| CVE-A | 9.8 Critical | Serveur de test interne | Moyenne (personne n’y accède) |
| CVE-B | 6.5 Medium | API publique de ton site | Haute (exposée à tous) |
Le contexte compte autant que le score !
EPSS : est-ce que les pirates s’en servent vraiment ?
Section intitulée « EPSS : est-ce que les pirates s’en servent vraiment ? »Le problème avec CVSS seul
Section intitulée « Le problème avec CVSS seul »CVSS mesure la gravité théorique. Mais toutes les failles critiques ne sont pas exploitées. Certaines CVE à 9.8 dorment pendant des années sans qu’aucun pirate ne s’y intéresse.
EPSS : la probabilité d’exploitation
Section intitulée « EPSS : la probabilité d’exploitation »EPSS (Exploit Prediction Scoring System) répond à une autre question : « Quelle est la probabilité que cette faille soit exploitée dans les 30 prochains jours ? »
C’est un pourcentage basé sur des données réelles :
- les attaques observées dans le monde ;
- les outils de piratage disponibles ;
- l’historique d’exploitation de failles similaires.
Où trouver le score EPSS ?
Section intitulée « Où trouver le score EPSS ? »Contrairement au CVSS qu’on trouve partout, l’EPSS est moins répandu. Voici comment le consulter :
Via l’API FIRST (gratuit)
Section intitulée « Via l’API FIRST (gratuit) »# Récupérer l'EPSS d'une CVE spécifiquecurl -s "https://api.first.org/data/v1/epss?cve=CVE-2024-3094" | jqRéponse type :
{ "status": "OK", "status-code": 200, "version": "1.0", "access": "public", "total": 1, "offset": 0, "limit": 100, "data": [ { "cve": "CVE-2024-3094", "epss": "0.859950000", "percentile": "0.993510000", "date": "2025-12-10" } ]}- epss : probabilité d’exploitation (0.93 = 93%)
- percentile : rang par rapport aux autres CVE (99.8% = plus exploitée que 99.8% des failles)
Via des interfaces web
Section intitulée « Via des interfaces web »| Site | URL | Avantage |
|---|---|---|
| FIRST EPSS | first.org/epss | Source officielle |
| NVD | nvd.nist.gov | CVSS + liens EPSS |
| CVE Details | cvedetails.com | Vue consolidée |
Dans les scanners modernes
Section intitulée « Dans les scanners modernes »Certains outils intègrent déjà l’EPSS :
- Grype : support natif depuis 2024, affiche EPSS et la base KEV de CISA ;
- Dependency-Track : support natif dans l’interface et l’API REST ;
- Trivy : pas de support natif, mais un plugin communautaire existe.
Voici un scan de l’image node:14 trié par EPSS :
# Scanner une image et trier par probabilité d'exploitationgrype node:14 --sort-by epssRésultat (extrait) :
NAME INSTALLED FIXED IN VULNERABILITY SEVERITY EPSS RISKlibnghttp2-14 1.36.0-2+deb10u1 1.36.0-2+deb10u2 CVE-2023-44487 High 94.4% (99th) 78.8 (kev)libwebp6 0.6.1-2+deb10u1 0.6.1-2+deb10u3 CVE-2023-4863 High 94.1% (99th) 85.6 (kev)libc6 2.28-10+deb10u2 2.28-10+deb10u3 CVE-2024-2961 High 92.9% (99th) 68.8libssl1.1 1.1.1n-0+deb10u4 1.1.1n-0+deb10u5 CVE-2023-2650 Medium 91.9% (99th) 52.8git 1:2.20.1-2+deb10u8 CVE-2024-32002 Critical 80.1% (99th) 72.1Ce que tu vois :
- EPSS : probabilité d’exploitation dans les 30 jours (94.4% = très élevée)
- (99th) : percentile (cette CVE est plus exploitée que 99% des autres)
- (kev) : présente dans la base KEV de la CISA (exploitation confirmée dans la nature)
- RISK : score combiné calculé par Grype (CVSS × EPSS)
Combiner les deux pour mieux décider
Section intitulée « Combiner les deux pour mieux décider »| Situation | CVSS | EPSS | Que faire ? |
|---|---|---|---|
| Faille grave ET exploitée | 9.0+ | > 30% | 🔴 Urgence absolue |
| Faille grave mais pas exploitée | 9.0+ | < 1% | 🟡 Planifier rapidement |
| Faille moyenne mais très exploitée | 5.0 | > 40% | 🔴 Priorité haute |
| Faille faible et non exploitée | 3.0 | < 0.1% | 🟢 Traiter quand possible |
Pourquoi « 0 CVE » ne veut pas dire « 0 risque »
Section intitulée « Pourquoi « 0 CVE » ne veut pas dire « 0 risque » »Le marketing du « 0 CVE »
Section intitulée « Le marketing du « 0 CVE » »Tu vois parfois des messages comme :
« Notre image Docker : 0 CVE ! » « Système ultra-sécurisé : aucune vulnérabilité ! »
C’est tentant d’y croire, mais c’est trompeur. Voici pourquoi.
Les limites des scanners
Section intitulée « Les limites des scanners »Quand un scanner affiche « 0 CVE », ça veut dire :
« Parmi les failles connues et répertoriées dans ma base de données, aucune ne correspond aux composants que j’ai pu détecter. »
Ça ne couvre pas :
- les failles pas encore découvertes (zero-days) ;
- les composants que le scanner n’a pas vus (binaires cachés, plugins…) ;
- les failles pas encore scorées (il y a parfois des mois de retard) ;
- les mauvaises configurations (mot de passe faible, ports ouverts…).
Les vrais risques sans CVE
Section intitulée « Les vrais risques sans CVE »Beaucoup de problèmes de sécurité n’ont pas de CVE :
| Risque | Exemple | CVE ? |
|---|---|---|
| Mauvaise configuration | Base de données accessible sans mot de passe | ❌ Non |
| Erreur humaine | Clé API publiée sur GitHub par erreur | ❌ Non |
| Architecture faible | Pas de sauvegarde, pas de supervision | ❌ Non |
| Faille inconnue | Zero-day découverte demain | ❌ Pas encore |
Comment les scanners trouvent les CVE
Section intitulée « Comment les scanners trouvent les CVE »Le processus simplifié
Section intitulée « Le processus simplifié »Quand tu lances un scanner comme Trivy ou Grype, voici ce qui se passe :
1. INVENTAIRE 2. COMPARAISON 3. RAPPORT Qu'est-ce qui Y a-t-il des Afficher les est installé ? failles connues ? résultats
Python 3.9 → CVE-2024-XXXX ? → ⚠️ 3 CVE trouvées OpenSSL 1.1 → CVE-2023-YYYY ? → dont 1 critique nginx 1.20 → (pas de CVE) →- Le scanner liste tous les composants (paquets, bibliothèques…) ;
- Il compare cette liste avec des bases de CVE connues ;
- Il affiche les correspondances trouvées avec leurs scores.
Pourquoi croiser plusieurs outils ?
Section intitulée « Pourquoi croiser plusieurs outils ? »Chaque scanner utilise des bases de données différentes. En combinant plusieurs outils, tu augmentes tes chances de tout détecter :
- Trivy : polyvalent, rapide, très populaire ;
- Grype : léger, bien intégré avec les SBOM ;
- Dependency-Track : suivi centralisé dans le temps.
Que faire quand tu trouves des CVE ?
Section intitulée « Que faire quand tu trouves des CVE ? »Pas de panique
Section intitulée « Pas de panique »Recevoir une liste de 50 CVE peut faire peur. Mais toutes ne nécessitent pas une action immédiate. Voici comment trier.
Étape 1 : Où se trouve le problème ?
Section intitulée « Étape 1 : Où se trouve le problème ? »| Exposition | Urgence |
|---|---|
| Internet public | 🔴 Très haute |
| Réseau partenaires | 🟡 Haute |
| Réseau interne | 🟡 Moyenne |
| Environnement de test | 🟢 Basse |
Une faille sur ton site web public est plus urgente que la même faille sur un serveur de développement.
Étape 2 : Regarde le score et l’exploitation
Section intitulée « Étape 2 : Regarde le score et l’exploitation »| CVSS | EPSS | Action |
|---|---|---|
| Critique + exploité | > 10% | Corriger immédiatement |
| Critique + pas exploité | < 1% | Corriger cette semaine |
| Moyen + exploité | > 20% | Corriger cette semaine |
| Faible + pas exploité | < 0.1% | Planifier ou accepter |
Étape 3 : Décide de l’action
Section intitulée « Étape 3 : Décide de l’action »Pour chaque CVE, tu as trois options :
- Corriger : mettre à jour le composant vulnérable (solution idéale) ;
- Contourner : ajouter des protections (pare-feu, restrictions d’accès) ;
- Accepter : documenter pourquoi tu ne corriges pas (temporairement).
Bonnes pratiques : ce qu’il faut retenir
Section intitulée « Bonnes pratiques : ce qu’il faut retenir »✅ À faire
Section intitulée « ✅ À faire »- Scanne régulièrement : pas juste une fois, mais à chaque déploiement ;
- Priorise par contexte : exposition + score + exploitation ;
- Centralise le suivi : un outil ou un tableau pour tout voir ;
- Documente tes décisions : pourquoi tu corriges ou pas.
❌ À éviter
Section intitulée « ❌ À éviter »- Viser « 0 CVE » à tout prix : tu vas tordre les rapports au lieu de réduire le risque ;
- Croire que le score dit tout : un 9.8 isolé < un 6.0 exposé ;
- Ignorer les CVE sans score : pas de score ≠ pas grave.
Pour aller plus loin
Section intitulée « Pour aller plus loin »Maintenant que tu comprends les bases, passe à la pratique :
- Scanner tes images : Trivy est l’outil que je recommande pour débuter.
- Suivre tes vulnérabilités : Dependency-Track pour un tableau de bord centralisé.
- Gérer les CVE sur ton parc serveurs : Plugin CVE Rudder pour détecter automatiquement les vulnérabilités sur tous tes nodes et les corriger via des campagnes de mise à jour.
- Sécuriser ta chaîne de production : SLSA et Cosign pour garantir l’intégrité.
- Auditer tes serveurs : Lynis pour les configurations Linux.
Ressources officielles
Section intitulée « Ressources officielles »| Ressource | Ce que c’est | Lien |
|---|---|---|
| CVE Program | Le catalogue officiel des failles | cve.org |
| NVD | Les CVE enrichies avec les scores | nvd.nist.gov |
| EPSS | Les probabilités d’exploitation | first.org/epss |
En résumé
Section intitulée « En résumé »- CVE = un numéro unique pour identifier une faille connue ;
- CVSS = un score de 0 à 10 indiquant la gravité théorique ;
- EPSS = la probabilité que cette faille soit vraiment exploitée ;
- 0 CVE ≠ 0 risque : les scanners ne voient pas tout ;
- Priorise par contexte : où c’est ? C’est grave ? C’est exploité ?
Tu as maintenant les bases pour comprendre tes rapports de scan et prendre des décisions éclairées, sans paniquer ni ignorer les alertes.