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

Double Free

Revisado porCybersecurity entrepreneur & security researcher

O que é Double Free?

Double FreeBug de segurança de memória em que o mesmo chunk do heap é libertado duas vezes, corrompendo metadados do alocador e muitas vezes permitindo execução de código arbitrário.


Um double free ocorre quando free()/delete é chamado mais do que uma vez sobre o mesmo ponteiro. As listas livres ou bins do alocador ficam inconsistentes, permitindo ao atacante forçar que uma alocação subsequente devolva memória influenciada ou sobreposta a objetos vivos — uma primitiva que leva a escritas arbitrárias e execução de código. Classificado como CWE-415, surge frequentemente com use-after-free e double-fetch. Defesas: padrões de propriedade única (RAII, smart pointers), pôr ponteiros a NULL após libertar, alocadores endurecidos com deteção de double-free (proteção tcache do glibc, scudo), testes com AddressSanitizer e linguagens memory-safe.

Exemplos

  1. 01

    CVE-2015-1322: double-free no tcache do glibc, com corrupção de heap.

  2. 02

    CVE-2019-19377: double-free no btrfs do Linux disparado por imagens malformadas.

Perguntas frequentes

O que é Double Free?

Bug de segurança de memória em que o mesmo chunk do heap é libertado duas vezes, corrompendo metadados do alocador e muitas vezes permitindo execução de código arbitrário. Pertence à categoria Vulnerabilidades da cibersegurança.

O que significa Double Free?

Bug de segurança de memória em que o mesmo chunk do heap é libertado duas vezes, corrompendo metadados do alocador e muitas vezes permitindo execução de código arbitrário.

Como se defender contra Double Free?

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

Quais são outros nomes para Double Free?

Nomes alternativos comuns: Vulnerabilidade de double-free.

Termos relacionados