Skip to content

Glossary

Tas (Heap)

La région de mémoire utilisée pour les allocations dynamiques (malloc/new), gérée par l'allocateur du runtime plutôt qu'automatiquement par le CPU.

Le tas (heap) est la zone de mémoire dans laquelle un programme demande des allocations de taille variable à l'exécution, à l'aide de fonctions comme malloc, new ou VirtualAlloc. Contrairement à la pile, le tas n'est pas récupéré automatiquement lorsqu'une fonction retourne — le programmeur (ou le ramasse-miettes) doit le libérer explicitement. Les métadonnées de l'allocateur de tas (en-têtes de chunks, pointeurs des free-lists) sont stockées en ligne avec les données utilisateur, ce qui fait des bugs de corruption du tas comme l'use-after-free et les débordements de tas des cibles courantes pour l'exploitation. Comprendre les rouages internes des allocateurs (par exemple ptmalloc, jemalloc) est essentiel pour la recherche en exploitation du tas.