Wednesday, March 29. 2006
A month ago I've posted here data on some progress I've made in the research against the VA patch. From that research I've managed to build a proof of concept exploit (with a matching dummy vulnerability) that is (ab)using the linux-gate.so.1 dso to get a return address trampoline back, and by doing so it's bypassing the VA patch. On top of that a feature that tags along with this situation and it's exploiation. Is that it's narrow downs the needs to have servel return addresses (depends on the platform, arch, version and etc) within the exploit. Basically putting the focus only on the target Linux kernel release.
After all that study I've decided to go on and publish a proper article, the article called 'Exploiting with linux-gate.so.1' and was published in the Neworder Newsletter #13 it includes a short review on the linux-gate.so.1 background (only exists in 2.6.x kernels, and ment to bridge on the lost of EBP register in a syscall with 6 or more args) the logic behind it (linux-gate.so.1 has a patchy integration and overcoming the VA on the way with static mapping), and ofcourse what is the key, that an exploit can use (linux-gate.so.1, happens to include a 'FFE4' byte sequence, in somewhat a static offset - that allows to be used as 'JMP *%ESP' for return address, and it's code). The published article contains a dummy vulnerability, matching exploit, and a stand alone scanner. These files were already released and can be found here.
Feedbacks are always welcomed :)