<<< Date Index >>>     <<< Thread Index >>>

Re: [ANNOUNCE] glibc heap protection patch



William Robertson wrote:

This is true in the case of the fd and bk pointers, and in fact this is one of the checks that dlmalloc's debugging code performs. However, as we also demonstrated in the paper, you are still open to other heap-related attacks, such as overwriting size fields and setting up fake chunk headers. So, unfortunately I don't think that check alone is sufficient.

The last time I checked there was no such check in the unlink macro (no matter if debug mode or not). Overwriting size fields and setting up fake chunk headers are the standard way to exploit malloc()/free() structures. And you should rethink about my unlink macro. It perfectly stops ALL heap attacks that try to make use of the unlink macro (and this are the most out there). I know that modifying unlink does not protect against frontlink attacks. But most heap exploiters do not even know that there is anything else than unlink. I never said that the unlink macro is the ultimate solution to all heap problems, but it is certainly securer to check the pointers on unlink than protecting it only with magic numbers. The best solution would be a combination of both.

Ohh btw... Feel free to demonstrate me an unlink exploit that works while my unlink macro is in place... In the last two years I nearly only concentrated on heap exploits on a various number of platforms. glibc/bsd/solaris/windows and I even exploited the heap on XBOX with my dashboard-font exploit. So I very much doubt that my statement was incorrect.

Stefan Esser