Buffer Overflow
Buffer Overflow
Pufferüberlauf
A buffer overflow occurs when a program writes more data into a memory area than it can hold, overwriting adjacent memory in the process. Skilfully exploited, an attacker can thereby get their own code executed. It is one of the oldest and most consequential classes of software vulnerabilities.
History & facts. Buffer overflows arise above all in languages without automatic memory bounds checking; a classic case is overwriting the return address on the stack so that program flow is redirected to attacker-injected code. This vulnerability class shaped the attack landscape for decades and is exemplary of the categories systematically recorded in CWE. Protection mechanisms such as non-executable memory and address space layout randomisation (ASLR) make exploitation harder but do not eliminate it.
Outlook & recommendation. Prevention begins with the code: memory-safe languages or careful bounds checks, complemented by the named protection mechanisms and by static and dynamic testing. Since many legacy systems are still written in low-level languages, the class remains relevant. For defenders, what counts above all is fast patching as soon as a corresponding CVE becomes known — especially for network-reachable services.