Skip to content
Vol. 1 · Ed. 2026
CyberGlossary
Entry № 1322

Use-After-Free

Vérifié parCybersecurity entrepreneur & security researcher

Qu'est-ce que Use-After-Free ?

Use-After-FreeBug 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 continue de référencer un objet après que free()/delete l'a libéré. Si l'attaquant parvient à faire réallouer la même zone mémoire en tant qu'objet différent — une technique appelée heap grooming ou « heap feng shui » —, le pointeur pendant lui offre de fait 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 et sont répertoriées sous CWE-416.

Des cas nommés illustrent l'impact. CVE-2018-8174, un UAF dans le moteur VBScript accessible via Internet Explorer, a été militarisé dans le zero-day « Double Kill » puis intégré à des kits d'exploitation. CVE-2022-0609, un UAF dans le composant Animation de Chrome, a été exploité dans la nature comme zero-day ; le Threat Analysis Group de Google a attribué les campagnes à des acteurs étatiques nord-coréens visant des entreprises de médias et de fintech. La prévalence de tels bugs explique pourquoi Microsoft et Google rapportent tous deux qu'environ 70 % de leurs CVE historiques découlent d'erreurs de sûreté mémoire, ce qui pousse le secteur vers Rust.

flowchart TD
  A[Objet alloue, le pointeur P le reference] --> B["free() / delete appele"]
  B --> C[P pend desormais, memoire rendue a l allocateur]
  C --> D[L attaquant pulverise le tas pour recuperer l emplacement]
  D --> E[Meme memoire reallouee en objet controle par l attaquant]
  E --> F[Le programme dereference P]
  F --> G[Confusion de types -> detournement de la vtable / du flot de controle]

Les défenses incluent des modèles de propriété disciplinés (RAII, smart pointers), des langages à GC ou memory-safe comme Rust, des allocateurs durcis (quarantaine, pools d'isolation, GWP-ASan) et le test via KASAN/Valgrind. Les navigateurs déploient également des protections de type MiraclePtr et PartitionAlloc.

Exemples

  1. 01

    CVE-2018-8174 (moteur VBScript) — UAF exploitée par des acteurs APT.

  2. 02

    CVE-2022-0609 (animation Chrome) — UAF utilisée comme zero-day.

Questions fréquentes

Qu'est-ce que Use-After-Free ?

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. Cette notion relève de la catégorie Vulnérabilités en cybersécurité.

Que signifie Use-After-Free ?

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.

Comment se défendre contre Use-After-Free ?

Les défenses contre Use-After-Free combinent habituellement des contrôles techniques et des pratiques opérationnelles, comme détaillé dans la définition ci-dessus.

Quels sont les autres noms de Use-After-Free ?

Noms alternatifs courants : UAF.

Termes liés

Voir aussi