Fuga de memoria
¿Qué es Fuga de memoria?
Fuga de memoriaDefecto en el que memoria que ya no se necesita no se devuelve al asignador, agotando progresivamente la memoria disponible y degradando o bloqueando el sistema.
Una fuga de memoria (CWE-401) ocurre cuando un programa reserva memoria y pierde todas las referencias a ella sin liberarla. Con el tiempo el conjunto de trabajo crece, el rendimiento cae, el swap se satura y, finalmente, el sistema operativo mata el proceso o deja de aceptar trabajo. Aunque muchas fugas son problemas de fiabilidad, pueden volverse de seguridad: servicios de larga ejecución expuestos a desencadenantes controlados por el atacante se convierten en amplificadores de denegación de servicio. También se incluyen objetos de kernel, descriptores, sockets o recursos GPU sin liberar. Defensas: perfilado (Valgrind, ASan/LSan, heaptrack), disciplina de propiedad (RAII, smart pointers), pruebas de carga continuas y recolección de basura en el lenguaje. La "fuga de memoria" en sentido criptográfico (revelar contenido de memoria) se llama mejor divulgación de información.
● Ejemplos
- 01
Servidor web de larga ejecución cuyas asignaciones por petición nunca se liberan.
- 02
Módulo de kernel que olvida liberar buffers skb y drena la memoria del sistema.
● Preguntas frecuentes
¿Qué es Fuga de memoria?
Defecto en el que memoria que ya no se necesita no se devuelve al asignador, agotando progresivamente la memoria disponible y degradando o bloqueando el sistema. Pertenece a la categoría de Vulnerabilidades en ciberseguridad.
¿Qué significa Fuga de memoria?
Defecto en el que memoria que ya no se necesita no se devuelve al asignador, agotando progresivamente la memoria disponible y degradando o bloqueando el sistema.
¿Cómo defenderse de Fuga de memoria?
Las defensas contra Fuga de memoria combinan habitualmente controles técnicos y prácticas operativas, como se detalla en la definición.
¿Cuáles son otros nombres para Fuga de memoria?
Nombres alternativos comunes: Fuga de recursos.