3 ms·
> If I control the stack pointer and can write to where it points, I can write to arbitrary in process memory. Sure! But you don't usually have that sort of co
by clarry 9y ago
> If I control the stack pointer and can write to where it points, I can write to arbitrary in process memory. Sure!
But you don't usually have that sort of control. Normally you'd use something like a buffer overflow on a stack allocated buffer.
This thing is a problem even if you have no buffer overflows on stack and do not have arbitrary write access to anywhere on stack.
What's happening here that the program gets confused about how large its stack is, and keeps utilizing more memory than it should for the stack. But that memory is allocated for heap objects, so a simple write to one of these (not requiring any sort of buffer overflow or other such bug to exploit) could be used to smash the stack.