[Home]Buffer overflow

HomePage | Recent Changes | Preferences

A buffer overflow is a special type of bug in a computer program. When the length limitation of a space reserved for data - a so called buffer - is not properly enforced, a buffer overflow may happen. The buffer is filled with the input data and, in case the input data is longer than the buffer size, the end of the buffer and the space behind it is overwritten.

A buffer overflow can result in a security vulnerability, in which an attacker can overflow the space behind the buffer with special crafted content which redirects the [execution path]? of the program. A program which can take advantage of a security vulnerability, and a buffer overflow in particular is called 'exploit'. Determining the actual exploitability of a buffer overflow can be very difficult even to experienced programmers, since it involves a lot of high and low level knowledge of the architecture internals and the target program.

In 1989, the Morris Internet worm used a buffer overflow, exploited remotely over the network, to propagate itself. Even after this incident, buffer overflows were virtually ignored as security issue by the public. Later, in 1995, [Thomas Lopatic]? independently reinvented the buffer overflow and published his findings on the Bugtraq security mailing list, which caused a wave of new security relevant buffer overflows to be found.


HomePage | Recent Changes | Preferences
This page is read-only | View other revisions
Last edited October 6, 2001 12:24 pm by Sandos (diff)
Search: