/self/proc/mem
/self/proc/mem
Posted Jan 20, 2026 11:53 UTC (Tue) by excors (subscriber, #95769)In reply to: /self/proc/mem by evomassiny
Parent article: A 0-click exploit chain for the Pixel 9 (Project Zero)
The iOS decompilation is effectively:
total_size = (alloc_size + extra + 7) & ~7;
if (does_add_overflow(alloc_size, extra) || heap->remaining < total_size) { return 0; }
which makes more sense - it's simply rounding up to 8 bytes, and the bug is that it's only testing for overflow in the non-rounded-up addition. Perhaps the post author tried to paraphrase the decompiled code to avoid the slightly obscure bit-twiddling, or used a different decompiler that produced uglier code they needed to clean up, but they made a mistake. Their rest of their explanation of the overflow sounds fine.
(They say the overflow is present on iOS but not exploitable because the library is built with -fbounds-safety.)
