Buffer Overflow Attack - Vulnerability in Stack
Most of the vulnerability based on buffer overflows aim at forcing the execution of malicious code, mainly in order to give a root shell to the user. The malicious instructions are stored in a buffer, which is overflowed to allow an unexpected use of the process, by changing various memory sections. Buffer overflow attacks exploit a need of bounds checking on the size of input being stored in a buffer array. By writing the data into the memory assigned to array, the attacker can make arbitrary changes to program state stored an adjacent to the array. A buffer overflow is an inconsistent, where a process attempts to store data beyond the boundaries of a fixed length buffer.