A buffer overflow condition exists when a program attempts to put more data in a buffer than it can hold, or when a program attempts to put data in a memory area outside of the boundaries of a buffer.
The simplest type of error, and the most common cause of buffer overflows, is the "classic" case in which the program copies the buffer without restricting how much is copied.
Buffer overflows can be used for bypassing security services, causing program crashes and arbitrary code execution. The weakness is introduced during Implementation stage.
Latest vulnerabilities for CWE-120
Description of CWE-120 on Mitre website