CWE (Common Weakness Enumeration)
generalDéfinition
La CWE (Common Weakness Enumeration) est une classification communautaire des faiblesses logicielles et matérielles maintenue par MITRE et soutenue par la CISA (Cybersecurity and Infrastructure Security Agency). Contrairement aux CVE qui cataloguent des vulnérabilités spécifiques dans des produits précis, la CWE répertorie les types génériques de faiblesses qui peuvent engendrer des vulnérabilités. La CWE constitue un vocabulaire commun permettant aux développeurs, aux testeurs de sécurité et aux chercheurs de décrire et de communiquer sur les faiblesses logicielles de manière cohérente. Chaque entrée CWE décrit une catégorie de faiblesse avec sa définition, ses conséquences potentielles, ses plateformes affectées, ses modes d'introduction dans le code, et les méthodes de prévention et de détection. Les faiblesses CWE sont organisées en une taxonomie hiérarchique : vues (perspectives de classification), catégories (regroupements de faiblesses similaires), faiblesses (entrées détaillées), et composites (combinaisons de faiblesses). La vue CWE Top 25 Most Dangerous Software Weaknesses est publiée annuellement par MITRE sur la base des CVE les plus exploitées, offrant un guide pratique pour les priorités de sécurité logicielle. Les faiblesses les plus récurrentes dans la CWE Top 25 incluent : CWE-79 (Cross-Site Scripting), CWE-89 (SQL Injection), CWE-787 (Out-of-bounds Write), CWE-20 (Improper Input Validation), CWE-125 (Out-of-bounds Read), CWE-416 (Use After Free), CWE-22 (Path Traversal), et CWE-78 (OS Command Injection). Ces faiblesses représentent la majorité des vulnérabilités exploitées en production. L'intégration de la CWE dans le cycle de développement sécurisé passe par plusieurs mécanismes : les outils SAST (Static Application Security Testing) comme SonarQube, Checkmarx ou Semgrep mappent leurs règles de détection sur les CWE, permettant aux développeurs d'identifier et corriger les faiblesses avant la production. Les scanners DAST, les outils de composition logicielle (SCA), et les pentests documentent également leurs findings avec les identifiants CWE correspondants. La relation CVE-CWE est fondamentale : chaque CVE publiée dans le NVD inclut la CWE associée, permettant d'analyser les tendances des faiblesses exploitées et d'orienter les efforts de secure coding formation.
CWE Top 25 et priorisation du secure coding
La CWE Top 25 2024, calculée sur la base des CVE publiées et de leurs scores CVSS, constitue le guide pratique des faiblesses à priorité. En tête : CWE-79 (XSS), CWE-89 (SQL Injection), et CWE-787 (Out-of-bounds Write). Les équipes de développement doivent former leurs développeurs sur ces faiblesses prioritaires, configurer leurs outils SAST pour les détecter systématiquement, et intégrer des tests automatisés dans leurs pipelines CI/CD. L'OWASP Top 10 (orienté applications web) est complémentaire à la CWE Top 25 (plus large, couvrant tous types de logiciels).
CWE dans les outils SAST/DAST
L'intégration de la CWE dans les outils d'analyse de code est essentielle pour une gestion cohérente des faiblesses. SonarQube, Checkmarx, Veracode, Semgrep et CodeQL mappent leurs règles de détection sur des identifiants CWE précis. Un finding SonarQube "SQL Injection" correspond à CWE-89, ce qui permet de le lier aux CVE historiques de même nature, d'estimer son criticité, et de le prioriser dans le backlog de remédiation. Les rapports de pentest professionnels incluent systématiquement les identifiants CWE pour faciliter la communication entre les testeurs et les développeurs.
CWE et analyse des tendances de vulnérabilités
L'analyse statistique des CWE associées aux CVE publiées permet d'identifier les tendances dans les types de faiblesses exploitées. Par exemple, la prévalence de CWE-787 (Out-of-bounds Write) dans les vulnérabilités critiques des navigateurs et systèmes d'exploitation reflète l'usage massif de C/C++. L'émergence de CWE-918 (SSRF) et CWE-502 (Deserialization of Untrusted Data) dans les applications cloud reflète les nouvelles architectures. Ces analyses guident les stratégies de formation des développeurs et l'adoption de langages memory-safe comme Rust.
Articles liés
Expert en cybersécurité offensive et intelligence artificielle. Pentest, audit et développement IA sur-mesure.
Services
- Audit Infrastructure
- Audit Kubernetes
- Audit Microsoft 365
- Audit Sécurité Réseau
- Analyse de Risques
- Audit Active Directory
- Audit Application Web
- Audit Cloud (AWS/Azure/GCP)
- Audit Messagerie
- Audit API (OWASP Top 10)
- Audit DevSecOps & CI/CD
- Audit Code Source (SAST)
- Audit Postes de Travail
- Audit Sauvegarde & Résilience
- Audit OT/SCADA (IEC 62443)
- Développement IA
- Formations
Ressources
Projets & Outils
© 2026 Ayi NEDJIMI Consultants. Tous droits réservés.
Un projet cybersécurité ?
Expert dispo · Réponse 24h