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

Doble liberación

Revisado porCybersecurity entrepreneur & security researcher

¿Qué es Doble liberación?

Doble liberaciónFallo de memoria en el que el mismo bloque del heap se libera dos veces, corrompiendo metadatos del asignador y a menudo permitiendo ejecución de código arbitraria.


Una doble liberación ocurre cuando free()/delete se llama más de una vez sobre el mismo puntero. Las listas libres o bins del asignador quedan inconsistentes, lo que permite al atacante forzar a una siguiente asignación a devolver memoria influida o solapada con objetos vivos: una primitiva que puede conducir a escrituras arbitrarias y ejecución de código. Se sigue como CWE-415 y suele coexistir con use-after-free y double-fetch. Defensas: patrones de propiedad única (RAII, smart pointers), poner punteros a NULL tras liberar, asignadores endurecidos con detección de doble free (protección de tcache en glibc, scudo), pruebas con AddressSanitizer y lenguajes seguros en memoria.

● Ejemplos

  1. 01

    CVE-2015-1322: double free en tcache de glibc que provoca corrupción de heap.

  2. 02

    CVE-2019-19377: double free en btrfs de Linux disparado por imágenes malformadas.

● Preguntas frecuentes

¿Qué es Doble liberación?

Fallo de memoria en el que el mismo bloque del heap se libera dos veces, corrompiendo metadatos del asignador y a menudo permitiendo ejecución de código arbitraria. Pertenece a la categoría de Vulnerabilidades en ciberseguridad.

¿Qué significa Doble liberación?

Fallo de memoria en el que el mismo bloque del heap se libera dos veces, corrompiendo metadatos del asignador y a menudo permitiendo ejecución de código arbitraria.

¿Cómo defenderse de Doble liberación?

Las defensas contra Doble liberación combinan habitualmente controles técnicos y prácticas operativas, como se detalla en la definición.

¿Cuáles son otros nombres para Doble liberación?

Nombres alternativos comunes: Vulnerabilidad de double free.

● Términos relacionados