Integer Overflow
Un dépassement d'entier survient quand un résultat arithmétique excède la plage représentable du type et boucle, pouvant causer des allocations de tampon trop petites ou des erreurs logiques.
Objectif
Comprendre les allocations mémoire et contournements de contrôles de bornes causés par le dépassement d'entier ; un défaut courant en C/C++ et dans les implémentations cryptographiques.
Mécanisme
Le dépassement d'entier signé est un comportement indéfini (C/C++) ; les entiers non signés bouclent modulo 2^n. Par exemple, size_t len = a + b boucle vers une petite valeur si a+b dépasse SIZE_MAX, donc malloc(len) alloue trop peu et les écritures suivantes débordent.
Cas d’usage
- Sécurité d'allocation mémoire
- Audit d'implémentations cryptographiques
- Contournement de contrôles de bornes