# Uso Después de Liberar {{#include ../../../banners/hacktricks-training.md}} ## Información Básica Como su nombre indica, esta vulnerabilidad ocurre cuando un programa **almacena algún espacio** en el heap para un objeto, **escribe** algo de información allí, **libera** aparentemente porque ya no se necesita y luego **accede a él nuevamente**. El problema aquí es que no es ilegal (no **habrá errores**) cuando se **accede a memoria liberada**. Así que, si el programa (o el atacante) logra **asignar la memoria liberada y almacenar datos arbitrarios**, cuando se accede a la memoria liberada desde el puntero inicial, **esos datos habrían sido sobrescritos**, causando una **vulnerabilidad que dependerá de la sensibilidad de los datos** que se almacenaron originalmente (si era un puntero de una función que iba a ser llamada, un atacante podría saber controlarlo). ### Ataque de Primer Ajuste Un ataque de primer ajuste se dirige a la forma en que algunos asignadores de memoria, como en glibc, gestionan la memoria liberada. Cuando liberas un bloque de memoria, se agrega a una lista, y las nuevas solicitudes de memoria se extraen de esa lista desde el final. Los atacantes pueden usar este comportamiento para manipular **qué bloques de memoria se reutilizan, potencialmente ganando control sobre ellos**. Esto puede llevar a problemas de "uso después de liberar", donde un atacante podría **cambiar el contenido de la memoria que se vuelve a asignar**, creando un riesgo de seguridad.\ Consulta más información en: {{#ref}} first-fit.md {{#endref}} {{#include ../../../banners/hacktricks-training.md}}