Dépassement de tampon
buffer overflow · débordement de tampon · stack-based buffer overflow · heap overflow · corruption mémoire · CWE-120
Erreur de programmation où un logiciel écrit plus de données qu’une zone mémoire ne peut en contenir, écrasant les données voisines, ce qui peut faire planter le programme ou permettre d’exécuter du code malveillant.
En pratique
Cette faille touche surtout les langages qui laissent le développeur gérer la mémoire, comme le C et le C++, omniprésents dans les systèmes, les navigateurs et les équipements réseau. Bien exploitée, elle mène à une exécution de code à distance ; les protections modernes compliquent l’exploitation sans l’empêcher. La CISA et le FBI la qualifient de défaut « impardonnable » et recommandent d’écrire le nouveau code dans des langages sûrs pour la mémoire, comme Rust, Go, Java ou C#.
En 1988, le ver Morris, l’un des premiers vers d’Internet, se propageait notamment grâce à un dépassement de tampon dans le service réseau fingerd. En février 2025, la CISA et le FBI citaient encore six failles de ce type exploitées récemment, dont CVE-2025-0282 dans les passerelles Ivanti Connect Secure.
Comment s’en protéger
- Écrire le nouveau code dans un langage sûr pour la mémoire et planifier la migration des parties les plus exposées.
- En C et C++ : fonctions de copie bornées, options de compilation durcies, analyse SAST.
- Tester par fuzzing les composants qui traitent des données venues de l’extérieur.
- Appliquer rapidement les correctifs des équipements réseau et des systèmes exposés.

