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

Integer-Überlauf

Geprüft vonCybersecurity entrepreneur & security researcher

Was ist Integer-Überlauf?

Integer-ÜberlaufFehler, bei dem eine arithmetische Operation einen Wert außerhalb des darstellbaren Bereichs des Integer-Typs erzeugt – mit sicherheitskritischem Wraparound oder Truncation.


Integer-Überläufe entstehen, wenn Berechnungen den maximal (oder minimal) darstellbaren Wert eines Integer-Typs überschreiten, was Wraparound, Vorzeichenwechsel oder Truncation auslöst. Sicherheitsrelevant wird das, wenn der falsche Wert später als Puffergröße, Schleifenzähler, Array-Index oder Autorisierungsprüfung verwendet wird – häufig mit Pufferüberläufen, Endlosschleifen oder umgangenen Limits als Folge.

Das klassische Muster. Eine häufige Schwachstelle ist malloc(count * size): Läuft count * size über SIZE_MAX hinaus um, liefert der Allocator einen Puffer, der weit kleiner ist als vom Code angenommen, und die anschließende Kopie schreibt über das Ende hinaus – ein Überlauf, der durch eine Multiplikation ausgelöst wird, nicht durch eine falsche memcpy-Länge. Androids Stagefright-Familie von 2015 (CVE-2015-1538) nutzte genau das aus: Ein Integer-Überlauf im stsc-Metadaten-Atom einer MP4-Datei führte zu einer zu kleinen Heap-Allokation, sodass eine einzige MMS-Nachricht auf schätzungsweise 950 Millionen Geräten Remote Code Execution erreichen konnte. Der OpenSSH-Challenge-Response-Fehler von 2002 (CVE-2002-0639) sowie viele Bild-Codec- und Font-Parser-Bugs folgen derselben Form. Signed-to-Unsigned-Konvertierungen sind eine verwandte Falle: Eine negative Länge, die als riesiger Unsigned-Wert interpretiert wird, hebelt eine naive Prüfung wie if (len > max) aus.

Zu den Abwehrmaßnahmen zählen geprüfte Arithmetik (Rusts checked_add/checked_mul, C23 ckd_*, Compiler--ftrapv und UBSan), das Rechnen in einem breiteren Typ mit anschließender Bereichsprüfung vor dem Verengen, die Wahl von Typen, die zur Domäne passen, das Validieren angreifergesteuerter Größen vor der Allokation und aggressives Fuzzing von Parsern.

flowchart TD
  A[Angreifergesteuerte<br/>count und size] --> B[size = count * elem]
  B --> C{Produkt größer als<br/>Typmaximum?}
  C -->|Nein| D[Korrekte Allokation]
  C -->|Ja| E[Wert läuft zu einer<br/>kleinen Zahl um]
  E --> F[Zu kleiner Puffer alloziert]
  F --> G[Kopie schreibt über das Ende<br/>Heap-Korruption / RCE]

Beispiele

  1. 01

    CVE-2002-0639 (OpenSSH Challenge-Response): Integer-Überlauf führt zu Heap-Korruption.

  2. 02

    CVE-2015-1538 (Android Stagefright): Integer-Überlauf im 'stsc'-Atom einer MP4-Datei, der Remote Code Execution ermöglicht.

Häufige Fragen

Was ist Integer-Überlauf?

Fehler, bei dem eine arithmetische Operation einen Wert außerhalb des darstellbaren Bereichs des Integer-Typs erzeugt – mit sicherheitskritischem Wraparound oder Truncation. Es gehört zur Kategorie Schwachstellen der Cybersicherheit.

Was bedeutet Integer-Überlauf?

Fehler, bei dem eine arithmetische Operation einen Wert außerhalb des darstellbaren Bereichs des Integer-Typs erzeugt – mit sicherheitskritischem Wraparound oder Truncation.

Wie schützt man sich gegen Integer-Überlauf?

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

Welche anderen Bezeichnungen gibt es für Integer-Überlauf?

Übliche alternative Bezeichnungen: Integer-Wraparound.

Verwandte Begriffe

Siehe auch