CyberGlossary

Vulnerabilidades

Use-After-Free

Também conhecido como: UAF

Definição

Bug de segurança de memória em que um programa continua a usar memória já libertada, frequentemente permitindo controlar o estado de objetos e desviar a execução.

Um use-after-free (UAF) ocorre quando um ponteiro continua a referenciar um objeto depois de free()/delete ter libertado a memória. Se o atacante conseguir que a mesma região seja realocada como outro objeto, o ponteiro pendente atua como uma confusão de tipos ideal para sobrescrever ponteiros de função virtual, endereços de callback ou estado sensível. Os UAF dominam a exploração de navegadores e kernels (CWE-416). Defesas: modelos rigorosos de propriedade (RAII, smart pointers), linguagens com GC ou memory-safe, alocadores endurecidos (quarentena, pools isolados, GWP-ASan) e testes com KASAN/Valgrind. Navegadores adicionam proteções como MiraclePtr e PartitionAlloc.

Exemplos

  • CVE-2018-8174 (motor VBScript): UAF explorada por atores APT.
  • CVE-2022-0609 (animação no Chrome): UAF usada como 0-day.

Termos relacionados