Skip to content
Vol. 1 · Ed. 2026
CyberGlossary
Entry № 544

Sous-depassement entier

Qu'est-ce que Sous-depassement entier ?

Sous-depassement entierFaille arithmetique (CWE-191) ou une soustraction sur un entier non signe sous zero se replie sur une enorme valeur, autorisant allocations excessives ou debordements.


Un sous-depassement (underflow) entier survient quand un entier non signe descend sous zero, ou que l'arithmetique signee traverse INT_MIN, le resultat se repliant sur une enorme valeur positive. Le motif classique : len = header_len - prefix_len ou prefix_len est controle par l'attaquant ; le len gigantesque resultant contourne les controles de bornes et provoque des debordements de tas ou de pile, ou des lectures hors limites. Exemples reels : CVE-2018-1000005 (libcurl) et de nombreux bugs reseau du noyau ou des soustractions size_t sur des longueurs de paquets sous-debordent. Parades : arithmetique signee avec comparaisons explicites, soustraction verifiee (__builtin_sub_overflow, std::safe_int), pieges d'overflow au niveau langage (Rust debug, Swift), fuzzing avec UBSan et validation stricte des entrees.

Exemples

  1. 01

    len = total - header_len qui devient 0xFFFFFFFF si total < header_len puis utilise comme taille memcpy.

  2. 02

    Linux CVE-2019-11815 : une soustraction de longueur restante sous-deborde et permet un UAF.

Questions fréquentes

Qu'est-ce que Sous-depassement entier ?

Faille arithmetique (CWE-191) ou une soustraction sur un entier non signe sous zero se replie sur une enorme valeur, autorisant allocations excessives ou debordements. Cette notion relève de la catégorie Attaques et menaces en cybersécurité.

Que signifie Sous-depassement entier ?

Faille arithmetique (CWE-191) ou une soustraction sur un entier non signe sous zero se replie sur une enorme valeur, autorisant allocations excessives ou debordements.

Comment fonctionne Sous-depassement entier ?

Un sous-depassement (underflow) entier survient quand un entier non signe descend sous zero, ou que l'arithmetique signee traverse INT_MIN, le resultat se repliant sur une enorme valeur positive. Le motif classique : len = header_len - prefix_len ou prefix_len est controle par l'attaquant ; le len gigantesque resultant contourne les controles de bornes et provoque des debordements de tas ou de pile, ou des lectures hors limites. Exemples reels : CVE-2018-1000005 (libcurl) et de nombreux bugs reseau du noyau ou des soustractions size_t sur des longueurs de paquets sous-debordent. Parades : arithmetique signee avec comparaisons explicites, soustraction verifiee (__builtin_sub_overflow, std::safe_int), pieges d'overflow au niveau langage (Rust debug, Swift), fuzzing avec UBSan et validation stricte des entrees.

Comment se défendre contre Sous-depassement entier ?

Les défenses contre Sous-depassement entier combinent habituellement des contrôles techniques et des pratiques opérationnelles, comme détaillé dans la définition ci-dessus.

Quels sont les autres noms de Sous-depassement entier ?

Noms alternatifs courants : Underflow non signe, CWE-191.

Termes liés