Desbordamiento de heap
¿Qué es Desbordamiento de heap?
Desbordamiento de heapDesbordamiento de búfer en memoria dinámica que suele corromper metadatos del asignador, punteros a funciones o tablas virtuales de objetos.
Un desbordamiento de heap escribe más allá del final de un búfer en memoria dinámica, dañando bloques adyacentes o metadatos del asignador (malloc/free, jemalloc, mimalloc…). Como los layouts del heap no son deterministas, la explotación recurre a técnicas de "heap grooming" o "feng shui" para colocar objetivos útiles junto al búfer vulnerable: punteros a funciones, vtables, bloques de control de smart pointers o estado crítico. Los asignadores modernos endurecen metadatos, aíslan bloques y añaden páginas guardia; ASLR, CFI, sandboxing y los lenguajes seguros en memoria reducen el impacto. Los heap overflows son centrales en la explotación de navegadores, kernels y parsers de documentos, incluyendo muchas entradas premiadas en Pwn2Own.
● Ejemplos
- 01
CVE-2018-4407: desbordamiento de heap TCP en el kernel XNU.
- 02
Numerosos overflows de heap en el motor JS de Chrome explotados en Pwn2Own.
● Preguntas frecuentes
¿Qué es Desbordamiento de heap?
Desbordamiento de búfer en memoria dinámica que suele corromper metadatos del asignador, punteros a funciones o tablas virtuales de objetos. Pertenece a la categoría de Vulnerabilidades en ciberseguridad.
¿Qué significa Desbordamiento de heap?
Desbordamiento de búfer en memoria dinámica que suele corromper metadatos del asignador, punteros a funciones o tablas virtuales de objetos.
¿Cómo defenderse de Desbordamiento de heap?
Las defensas contra Desbordamiento de heap combinan habitualmente controles técnicos y prácticas operativas, como se detalla en la definición.
¿Cuáles son otros nombres para Desbordamiento de heap?
Nombres alternativos comunes: Heap buffer overflow.