CyberGlossary

Schwachstellen

Stack-Overflow-Schwachstelle

Auch bekannt als: Stack Smashing

Definition

Pufferüberlauf auf dem Programm-Stack, der typischerweise die gespeicherte Rücksprungadresse oder lokale Funktionspointer überschreibt, um die Ausführung umzulenken.

Der Stack-Overflow ist der historische Archetyp speicherkorruptiver Exploits: Ein ungeprüfter Schreibzugriff in einen auf dem Stack allokierten Puffer überschreibt den Frame-Pointer oder die gespeicherte Rücksprungadresse, sodass Angreifer den Kontrollfluss in kontrollierte Bytes (Shellcode oder ROP-Gadgets) umlenken können. Abwehrmaßnahmen sind Stack-Canaries (StackGuard, /GS), nicht ausführbare Stacks (DEP/NX), ASLR, Shadow Stacks und Intel CET sowie FORTIFY_SOURCE und sicherere String-Funktionen auf Compiler-Ebene. Trotz jahrzehntelanger Gegenmaßnahmen treten klassische Stack-Overflows in Firmware, IoT und Altsoftware weiterhin auf und sind regelmäßiger Stoff für CVEs und CTFs.

Beispiele

  • CVE-2003-0352 (DCOM RPC): Der Blaster-Wurm nutzte einen Stack-Overflow.
  • CVE-2019-0708 (BlueKeep): Stack-Overflow im Remote-Desktop-Dienst.

Verwandte Begriffe