Aller au contenu
uencoder

Use-After-Free

Le use-after-free consiste à déréférencer un pointeur vers une mémoire déjà libérée, ce qui peut permettre de lire des données contrôlées par l'attaquant ou d'aboutir à l'exécution de code.

Objectif

Comprendre la mécanique de la vulnérabilité UAF et ses défenses ; une vulnérabilité de haute gravité courante dans les navigateurs et noyaux écrits en C/C++.

Mécanisme

Après le free, le pointeur n'est pas mis à NULL ; les déréférencements ultérieurs accèdent à la mémoire récupérée. Si un attaquant contrôle ce contenu par heap spraying, il peut falsifier les vtables d'objets pour exécuter du code. Défenses : mise à NULL du pointeur, pointeurs intelligents, isolation du tas.

Cas d’usage

  • Analyse de vulnérabilités de navigateurs
  • Audit de sécurité du noyau
  • Sûreté mémoire

Outils associés

References