Each program on the computer is allocated a different amount of memory or RAM. The program uses that space to save data temporarily whilst it follows certain instructions. If this data in memory were to be changed or deleted then it might well make the program crash, as it would not be able to find the data it needed. This is essentially what happens in a buffer overflow as the memory space (the buffer) gets given more data than it can handle and the data spills into other memory spaces overwriting lots of data. The malicious intent of this technique could be to just crash the computer but it is also possible (in some programs) to make the computer execute malicious code by making the code part of the overflowing data. All the attacker would need to do would be to get the computer to start following instructions from the right point in the overflowing data.
- Glossary: Computer Components (andyrussellcronin.wordpress.com)