What is the meaning of Buffer Overflow?
Buffer Overflow refers to the situation when more data is stored by a program in temporary storage than its capacity. This can have many repercussions as usage outside of the allocated memory can lead to corruption of the data, crashing of the entire program or even execution of malicious code which can permit the attacker to make any modifications to the target address space.
The buffer overflow happens when the data on buffer ultimately starts corrupting data values in memory addresses. This usually takes place due to bad programming practices which leave gaps like low-level buffer details for various data types. The programmer is required to allocate large buffers to know the overflow patterns. Thus, buffer overflow is seen in web applications which serve dynamic and static expressions. Many attackers also use buffer overflows for damaging the execution stack of applications. Such attacks are not routine email virus and the attacks are executed even without users opening the email message.