Stack Buffer Overflow

In software, a stack buffer overflow (also known as stack smashing) occurs when a program writes to a memory address on the program's call stack outside of the intended data structure; usually a fixed length buffer. Stack buffer overflow bugs are caused when a program writes more data to a buffer located on the stack than there was actually allocated for that buffer. This almost always results in corruption of adjacent data on the stack, and in cases where the overflow was triggered by mistake, will often cause the program to crash or operate incorrectly. This type of overflow is part of the more general class of programming bugs known as buffer overflows.

If the affected program is running with special privileges, or accepts data from untrusted network hosts (e.g. a webserver) then the bug is a potential security vulnerability. If the stack buffer is filled with data supplied from an untrusted user then that user can corrupt the stack in such a way as to inject executable code into the running program and take control of the process. This is one of the oldest and more reliable methods for black hat hackers to gain unauthorized access to a computer.

Read more about Stack Buffer Overflow:  Exploiting Stack Buffer Overflows, Platform Related Differences, Protection Schemes, Notable Examples, See Also

Famous quotes containing the words stack and/or overflow:

    What is a farm but a mute gospel? The chaff and the wheat, weeds and plants, blight, rain, insects, sun—it is a sacred emblem from the first furrow of spring to the last stack which the snow of winter overtakes in the fields.
    Ralph Waldo Emerson (1803–1882)

    Oh! that thy love might overflow my Heart!
    To fire the same with Love: for Love I would.
    But oh! my streight’ned Breast! my Lifeless Sparke!
    My Fireless Flame! What Chilly Love, and Cold?
    In measure small! In Manner Chilly! See!
    Lord, blow the Coal: Thy Love Enflame in mee.
    Edward Taylor (1645–1729)