Full Disclosure mailing list archives
Re: exploitation ideas under memory pressure
From: Tavis Ormandy <taviso () cmpxchg8b com>
Date: Fri, 17 May 2013 17:44:58 -0700
On Fri, May 17, 2013 at 02:26:10PM -0700, Tavis Ormandy wrote:
The question is how to get PATHALLOC() to succeed under memory pressure so we can make this exploitable, my first thought was have another thread manipulating the free pool, but I can't figure out how to synchronize that. Getting code execution should be trivial after this. I guess it's possible to just race it until we win, but this seems like an inelegant solution. Anyone have any ideas?
Ahh, I just realised a really cute trick, we can make PATHREC->next point to the same userspace PATHREC, and EPATHOBJ::bFlatten will spin forever traversing an infinite linked list. i.e. PathRecord->next = PathRecord; While it's spinning, another thread can clean up the pool, then patch the listnode (because it's in userspace), to break into pprFlattenRec! Turning this into a clean write-what-where should be trivial. Anyone want to volunteer to write it up over the weekend? :) Tavis. _______________________________________________ Full-Disclosure - We believe in it. Charter: http://lists.grok.org.uk/full-disclosure-charter.html Hosted and sponsored by Secunia - http://secunia.com/
Current thread:
- exploitation ideas under memory pressure Tavis Ormandy (May 17)
- Re: exploitation ideas under memory pressure Tavis Ormandy (May 17)
- Re: exploitation ideas under memory pressure Tavis Ormandy (May 20)
- Re: exploitation ideas under memory pressure You Got Pwned (May 22)
- Re: exploitation ideas under memory pressure Tavis Ormandy (May 20)
- <Possible follow-ups>
- Re: exploitation ideas under memory pressure sd (May 21)
- Re: exploitation ideas under memory pressure Brian Blankenship (May 22)
- Re: exploitation ideas under memory pressure Tavis Ormandy (May 17)