Schrödinger's Chunk: Is It Freed? Yes. Is It Allocated? Also Yes. Do We Have a Shell? Absolutely.
A single null byte. No use-after-free in the target. No double-free. Every mitigation the toolchain offers, Full RELRO, stack canary, NX, PIE, all active. We chain five bugs in glibc 2.43's own allocator code to manufacture a use-after-free from nothing and end with a shell. The target program is correct. The bugs are in glibc.
Read the full paper38 min
WORD COUNT
~7,800
LEVEL
Advanced