Comment Re:So 64-bit ASLR on Windows is flawed as well... (Score 1) 223
The attacker used a memory corruption bug to overwrite the null terminator of a string. He then read that string, which kept going until it hit another null terminator (two consecutive 0 bytes). He read memory he wasn't supposed to have access to, which included pointers to a C++ object's member functions (vftable). With these pointers in hand, he has defeated ASLR, because he has information about the address space that he's not supposed to have.
This MS's fault for a memory corruption bug, but their ASLR implementation isn't broken (at least not by this attack).
Details if you're curious: http://vreugdenhilresearch.nl/Pwn2Own-2010-Windows7-InternetExplorer8.pdf
This MS's fault for a memory corruption bug, but their ASLR implementation isn't broken (at least not by this attack).
Details if you're curious: http://vreugdenhilresearch.nl/Pwn2Own-2010-Windows7-InternetExplorer8.pdf