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

Use-After-Free

Revisado porCybersecurity entrepreneur & security researcher

O que é Use-After-Free?

Use-After-FreeBug 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 de memória seja realocada como um objeto diferente — uma técnica chamada heap grooming ou "heap feng shui" — o ponteiro pendente dá-lhe efetivamente 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 e estão catalogados como CWE-416.

Casos conhecidos ilustram o impacto. A CVE-2018-8174, um UAF no motor VBScript acessível através do Internet Explorer, foi armada no zero-day "Double Kill" e incorporada em kits de exploração. A CVE-2022-0609, um UAF no componente Animation do Chrome, foi explorada no terreno como zero-day; o Threat Analysis Group da Google atribuiu as campanhas a atores estatais norte-coreanos que visavam empresas de media e fintech. A prevalência destes bugs é a razão pela qual a Microsoft e a Google relatam ambas que cerca de 70% das suas CVEs históricas resultam de erros de segurança de memória, impulsionando o movimento da indústria rumo ao Rust.

flowchart TD
  A[Objeto alocado, ponteiro P referencia-o] --> B["free() / delete chamado"]
  B --> C[P fica pendente, memoria devolvida ao alocador]
  C --> D[Atacante satura a heap para reocupar o espaco]
  D --> E[Mesma memoria realocada como objeto controlado pelo atacante]
  E --> F[Programa desreferencia P]
  F --> G[Confusao de tipos -> sequestro da vtable / fluxo de controlo]

As defesas incluem modelos rigorosos de propriedade (RAII, smart pointers), linguagens com garbage collection ou memory-safe como o Rust, alocadores endurecidos (quarentena, pools de isolamento, GWP-ASan) e testes com KASAN/Valgrind. Os navegadores também implementam proteções no estilo MiraclePtr e PartitionAlloc.

Exemplos

  1. 01

    CVE-2018-8174 (motor VBScript): UAF explorada por atores APT.

  2. 02

    CVE-2022-0609 (animação no Chrome): UAF usada como 0-day.

Perguntas frequentes

O que é Use-After-Free?

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. Pertence à categoria Vulnerabilidades da cibersegurança.

O que significa Use-After-Free?

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.

Como se defender contra Use-After-Free?

As defesas contra Use-After-Free costumam combinar controles técnicos e práticas operacionais, conforme detalhado na definição acima.

Quais são outros nomes para Use-After-Free?

Nomes alternativos comuns: UAF.

Termos relacionados

Ver também