CyberGlossary

Vulnérabilités

Use-After-Free

Aussi appelé: UAF

Définition

Bug de sûreté mémoire où un programme continue d'utiliser une zone mémoire après sa libération, permettant souvent à un attaquant de manipuler l'état des objets et de détourner l'exécution.

Un use-after-free (UAF) se produit lorsqu'un pointeur reste valide sur un objet après free()/delete. Si l'attaquant fait réallouer la même zone pour un autre objet, le pointeur pendant agit comme une confusion de types idéale pour écraser des pointeurs de fonction virtuelle, des adresses de callback ou un état sensible. Les UAF dominent l'exploitation des navigateurs et des noyaux (CWE-416). Les défenses incluent des modèles de propriété disciplinés (RAII, smart pointers), des langages à GC ou memory-safe, des allocateurs durcis (quarantaine, pools isolés, GWP-ASan) et le test via KASAN/Valgrind. Les navigateurs déploient également des protections type MiraclePtr et PartitionAlloc.

Exemples

  • CVE-2018-8174 (moteur VBScript) — UAF exploitée par des acteurs APT.
  • CVE-2022-0609 (animation Chrome) — UAF utilisée comme zero-day.

Termes liés