See also: Bad Things
A buffer overflow is a widely known error among programmers. It occurs when a Bad Guy can overwrite some program code with his own using input methods of the program. In order to do so the program has to trust the data in aspects of correctness (e.g. is the input string as long as it has been expected to,etc). This is the number one security hole in software.