Buffer Overflows
Integer Overflow Vulnerabilities
Stack-based Buffer Overflows
- Buffer overflows are the result of a buffer receiving data that are larger than the allocate space.
- Stack-based overflows are the most common because are the easiest to exploit (see the examples in the link).
- Modern compilers (e.g. MS Visual C++ 2008) use a technique known as stack cookies to prevent use of invalid return addresses, but not enough.
- Data Execution Prevention (DEP) of modern processors can be used to make the stack area non executable.