glibc malloc — Internes de l'allocateur (ptmalloc)
★★★★★
Structure d'un chunk
prev_size | size (3 bits flags: A M P)
fd | bk (si libre : chaînage des bins)
... données utilisateur ...
P = PREV_INUSE, M = IS_MMAPPED, A = NON_MAIN_ARENA Les bins
tcache (glibc 2.26+, par thread, LIFO, rapide) · fastbins (petits chunks, LIFO) · unsorted/small/large bins (chunks plus grands, recyclage) · top chunk (wilderness, étend le tas). Comprendre leur fonctionnement est requis pour toute exploitation heap.
Mitigations modernes
# tcache key (anti double-free) — glibc 2.29
# safe-linking : fd chiffré ( ptr ^ (addr>>12) ) — 2.32
# checks de taille/alignement renforcés
# -> les vieilles techniques (fastbin dup naif) sont bloquées