CyberGlossary

Vulnérabilités

Débordement d'entier

Aussi appelé: Wraparound d'entier

Définition

Bug où une opération arithmétique produit une valeur hors de la plage représentable du type entier, avec un wraparound ou une troncature aux conséquences critiques.

Les débordements d'entier surviennent lorsqu'un calcul dépasse la valeur maximale (ou minimale) que le type peut contenir, provoquant un wraparound, un changement de signe ou une troncature. Cela devient un problème de sécurité quand la valeur erronée est ensuite utilisée comme taille de tampon, compteur de boucle, index de tableau ou contrôle d'autorisation, produisant souvent débordements de tampon, boucles infinies ou contournements de limites. Les défenses incluent l'arithmétique vérifiée (checked_add Rust, ckd_* C23, -ftrapv côté compilateur), des motifs élargir-puis-réduire avec vérifications explicites, le choix de types adaptés et le fuzzing intensif. De nombreuses CVE majeures dans les codecs image, parseurs de polices et noyaux découlent de chaînes de débordement d'entier.

Exemples

  • CVE-2002-0639 (OpenSSH challenge-response) : débordement d'entier conduisant à une corruption de tas.
  • CVE-2018-9568 (Android Wi-Fi) : débordement d'entier dans le traitement des trames 802.11.

Termes liés