CyberGlossary

Vulnerabilidades

Double Free

Também conhecido como: Vulnerabilidade de double-free

Definição

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.

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

  • CVE-2015-1322: double-free no tcache do glibc, com corrupção de heap.
  • CVE-2019-19377: double-free no btrfs do Linux disparado por imagens malformadas.

Termos relacionados