Pufferüberlauf
Ein Pufferüberlauf, auch Buffer Overflow genannt, ist ein Sicherheitsproblem in der Informatik, das auftritt, wenn ein Programm mehr Daten in einen festgelegten Speicherpuffer schreibt, als dieser aufnehmen kann. Der Schreibvorgang überschreibt angrenzenden Speicher, was zu unerwartetem Verhalten, Datenkorruption oder Abstürzen führen kann. Pufferüberläufe treten besonders dort auf, wo Speichergrenzen nicht zuverlässig geprüft werden, zum Beispiel beim Kopieren von Strings oder beim Verarbeiten von Benutzereingaben.
Ursachen und Typen umfassen vor allem ungesicherte Speicherzugriffe in Programmiersprachen ohne automatische Grenzkontrollen, wie C oder
Folgen eines Pufferüberlaufs reichen von Abstürzen, Datenverlust bis hin zu Sicherheitslücken, die eine Ausführung von fremdem
Schutzmaßnahmen umfassen sprach- und compilerseitige Grenzkontrollen, speicherverwahrende Techniken und sichere Programmierpraktiken. Dazu gehören automatische Speicherverwaltung in