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

Uso después de liberar

Revisado porCybersecurity entrepreneur & security researcher

¿Qué es Uso después de liberar?

Uso después de liberarFallo de seguridad de memoria en el que un programa sigue usando memoria ya liberada, lo que suele permitir a los atacantes controlar el estado de objetos y secuestrar la ejecución.


Un "use-after-free" (UAF) ocurre cuando un puntero sigue refiriendo a un objeto después de que free()/delete lo haya liberado. Si el atacante consigue que esa misma región de memoria se reasigne como un objeto distinto —una técnica llamada heap grooming o "heap feng shui"—, el puntero colgante le proporciona en la práctica una confusión de tipos, perfecta para sobrescribir punteros de funciones virtuales, direcciones de callback o estado sensible. Los UAF dominan la explotación de navegadores y kernels y están catalogados como CWE-416.

Algunos casos con nombre ilustran el impacto. CVE-2018-8174, un UAF en el motor VBScript alcanzable a través de Internet Explorer, se convirtió en arma en el día cero "Double Kill" y se incorporó a kits de explotación. CVE-2022-0609, un UAF en el componente Animation de Chrome, fue explotado de forma activa como día cero; el Threat Analysis Group de Google atribuyó las campañas a actores estatales norcoreanos que tenían como objetivo a empresas de medios y fintech. La prevalencia de estos fallos es la razón por la que tanto Microsoft como Google informan de que alrededor del 70% de sus CVE históricos provienen de errores de seguridad de memoria, lo que impulsa al sector hacia Rust.

flowchart TD
  A[Objeto asignado, el puntero P lo referencia] --> B["free() / delete invocado"]
  B --> C[P queda colgante, la memoria vuelve al asignador]
  C --> D[El atacante rocia el heap para reclamar el hueco]
  D --> E[La misma memoria se reasigna como objeto controlado por el atacante]
  E --> F[El programa desreferencia P]
  F --> G[Confusion de tipos -> secuestro de vtable / flujo de control]

Las defensas incluyen modelos disciplinados de propiedad (RAII, smart pointers), lenguajes con recolección de basura o seguros en memoria como Rust, asignadores endurecidos (cuarentena, pools de aislamiento, GWP-ASan) y pruebas con KASAN/Valgrind. Los navegadores despliegan además guardas del estilo de MiraclePtr y PartitionAlloc.

Ejemplos

  1. 01

    CVE-2018-8174 (motor VBScript): UAF explotado por actores APT.

  2. 02

    CVE-2022-0609 (animación de Chrome): UAF usado como 0-day.

Preguntas frecuentes

¿Qué es Uso después de liberar?

Fallo de seguridad de memoria en el que un programa sigue usando memoria ya liberada, lo que suele permitir a los atacantes controlar el estado de objetos y secuestrar la ejecución. Pertenece a la categoría de Vulnerabilidades en ciberseguridad.

¿Qué significa Uso después de liberar?

Fallo de seguridad de memoria en el que un programa sigue usando memoria ya liberada, lo que suele permitir a los atacantes controlar el estado de objetos y secuestrar la ejecución.

¿Cómo defenderse de Uso después de liberar?

Las defensas contra Uso después de liberar combinan habitualmente controles técnicos y prácticas operativas, como se detalla en la definición.

¿Cuáles son otros nombres para Uso después de liberar?

Nombres alternativos comunes: UAF.

Términos relacionados

Véase también