Buffer Overflow
A software bug where a program writes more data to a memory buffer than it can hold, potentially letting an attacker run code.
A buffer overflow↗ occurs when a program writes more data into a fixed-size block of memory (a buffer) than it was designed to hold, causing the extra data to spill into adjacent memory. If an attacker can carefully control what that overflow contains, they may be able to overwrite critical memory and hijack the program into running their own malicious code.
Buffer overflows have been behind some of the most damaging exploits in computing history and are why languages like C and C++ require careful bounds-checking. Modern operating systems include protections like address space randomization specifically to make these bugs harder to exploit↗.