tl;dr
- Giving custom array size of NaN, passes checks while allowing OOB r/w
- Use OOB r/w to get libc, stack (environ) addresses
- Craft fake chunk on array and overwrite fastbin fd
- Reset machine to allocate register context on fake chunk
- Overwrite VM sp with real stack
- Push ropchain onto stack and halt VM to execute ropchain