← Glossaire
Développement

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

UAF

Il s'agit d'une vulnérabilité de sécurité qui survient lorsqu'un programme tente d'accéder à une zone mémoire après qu'elle a été libérée.

Définition

Le Use-after-free se produit lors de la gestion de la mémoire lorsqu'un pointeur continue de pointer vers une adresse après qu'une structure de données a été supprimée ou libérée. La lecture ou l'écriture par le programme de cette adresse invalide entraîne des plantages inattendus ou l'exécution de code malveillant. Des langages tels que Rust, qui vérifient la sécurité de la mémoire au moment de la compilation, sont conçus pour prévenir ce type d'erreurs.

Analogie : Cela revient à rendre la clé d'une chambre d'hôtel, puis à essayer d'y entrer à nouveau pour modifier les affaires du nouveau client qui y séjourne.

Comment ça marche

Le programmeur ou le gestionnaire de mémoire libère un bloc de mémoire mais ne réinitialise pas la variable qui pointe vers ce bloc. Lorsque le programme tente d'effectuer une opération en utilisant ce pointeur inactif lors d'étapes ultérieures, une erreur de mémoire se produit.

Où est-ce utilisé

On le rencontre fréquemment dans les langages de programmation système nécessitant une gestion manuelle de la mémoire tels que C et C++, dans les vulnérabilités analysées et dans les analyses de failles.

Souvent confondu avec

Alors que la vulnérabilité de fuite mémoire (memory leak) correspond au non-libération de la mémoire inutilisée, le use-after-free correspond à la réutilisation erronée de la mémoire libérée.

Questions et réponses

Comment cette vulnérabilité est-elle prévenue ?

Elle est prévenue en réinitialisant les pointeurs immédiatement après la libération de la mémoire ou en privilégiant des langages assurant la sécurité de la mémoire.

Cette faille permet-elle l'exécution de code à distance ?

Oui, les attaquants peuvent contrôler le flux d'exécution en écrivant leurs propres données dans la zone mémoire libérée.

Termes liés

Cette explication a été rédigée en langage clair pour TreScout avec l’IA puis traduite automatiquement depuis l’original turc · la version turque fait foi. Si quelque chose vous semble erroné ou manquant, écrivez à hello@trescout.com. Lire en turc →