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

Integer Underflow

Was ist Integer Underflow?

Integer UnderflowArithmetik-Fehler (CWE-191): Eine Subtraktion auf einem vorzeichenlosen Wert unter null wickelt sich zu einer riesigen Zahl, was ueberdimensionierte Allokationen oder Bufferueberlaeufe ermoeglicht.


Ein Integer Underflow tritt auf, wenn ein vorzeichenloser Integer unter null dekrementiert wird oder vorzeichenbehaftete Arithmetik INT_MIN ueberschreitet, sodass das Ergebnis auf einen sehr grossen positiven Wert umlaeuft. Klassisches Muster: len = header_len - prefix_len mit angreiferkontrolliertem prefix_len. Das resultierende riesige len umgeht Bounds-Checks und ausloest Heap- oder Stack-Overflows bzw. Out-of-Bounds-Reads. Reale Beispiele: CVE-2018-1000005 (libcurl) und zahlreiche Kernel-Netzwerk-Bugs, bei denen size_t-Arithmetik auf Paketlaengen underflowt. Gegenmassnahmen: signed Arithmetik mit expliziten Vergleichen, gepruefte Subtraktion (__builtin_sub_overflow, std::safe_int), Sprach-Overflow-Trap (Rust Debug, Swift), Fuzzing mit UBSan und strikte Eingabevalidierung.

Beispiele

  1. 01

    len = total - header_len wird zu 0xFFFFFFFF, wenn total < header_len, und dient dann als memcpy-Groesse.

  2. 02

    Linux-Kernel CVE-2019-11815: Underflow einer Restlaengen-Subtraktion ermoeglicht ein UAF.

Häufige Fragen

Was ist Integer Underflow?

Arithmetik-Fehler (CWE-191): Eine Subtraktion auf einem vorzeichenlosen Wert unter null wickelt sich zu einer riesigen Zahl, was ueberdimensionierte Allokationen oder Bufferueberlaeufe ermoeglicht. Es gehört zur Kategorie Angriffe und Bedrohungen der Cybersicherheit.

Was bedeutet Integer Underflow?

Arithmetik-Fehler (CWE-191): Eine Subtraktion auf einem vorzeichenlosen Wert unter null wickelt sich zu einer riesigen Zahl, was ueberdimensionierte Allokationen oder Bufferueberlaeufe ermoeglicht.

Wie funktioniert Integer Underflow?

Ein Integer Underflow tritt auf, wenn ein vorzeichenloser Integer unter null dekrementiert wird oder vorzeichenbehaftete Arithmetik INT_MIN ueberschreitet, sodass das Ergebnis auf einen sehr grossen positiven Wert umlaeuft. Klassisches Muster: len = header_len - prefix_len mit angreiferkontrolliertem prefix_len. Das resultierende riesige len umgeht Bounds-Checks und ausloest Heap- oder Stack-Overflows bzw. Out-of-Bounds-Reads. Reale Beispiele: CVE-2018-1000005 (libcurl) und zahlreiche Kernel-Netzwerk-Bugs, bei denen size_t-Arithmetik auf Paketlaengen underflowt. Gegenmassnahmen: signed Arithmetik mit expliziten Vergleichen, gepruefte Subtraktion (__builtin_sub_overflow, std::safe_int), Sprach-Overflow-Trap (Rust Debug, Swift), Fuzzing mit UBSan und strikte Eingabevalidierung.

Wie schützt man sich gegen Integer Underflow?

Schutzmaßnahmen gegen Integer Underflow kombinieren typischerweise technische Kontrollen und operative Praktiken, wie in der Definition oben beschrieben.

Welche anderen Bezeichnungen gibt es für Integer Underflow?

Übliche alternative Bezeichnungen: Unsigned Underflow, CWE-191.

Verwandte Begriffe