Переполнение кучи
Что такое Переполнение кучи?
Переполнение кучиПереполнение буфера в динамически выделенной памяти, часто повреждающее метаданные аллокатора, указатели функций или виртуальные таблицы объектов.
Переполнение кучи происходит, когда запись выходит за пределы буфера, выделенного на куче, повреждая соседние чанки или метаданные аллокатора (malloc/free, jemalloc, mimalloc и др.). Поскольку раскладка кучи недетерминирована, эксплуатация использует heap grooming или «feng shui», чтобы расположить полезные цели рядом с уязвимым буфером — указатели функций, vtable, блоки управления умных указателей или критическое состояние. Современные аллокаторы укрепляют метаданные, изолируют чанки и добавляют guard-страницы; ASLR, CFI, песочницы и memory-safe языки снижают ущерб. Переполнения кучи играют ключевую роль в эксплуатации браузеров, ядер и парсеров документов, регулярно встречаясь среди победителей Pwn2Own.
● Примеры
- 01
CVE-2018-4407: переполнение кучи в TCP-стеке ядра XNU.
- 02
Многочисленные переполнения кучи в JS-движке Chrome, эксплуатировавшиеся на Pwn2Own.
● Частые вопросы
Что такое Переполнение кучи?
Переполнение буфера в динамически выделенной памяти, часто повреждающее метаданные аллокатора, указатели функций или виртуальные таблицы объектов. Относится к категории Уязвимости в кибербезопасности.
Что означает Переполнение кучи?
Переполнение буфера в динамически выделенной памяти, часто повреждающее метаданные аллокатора, указатели функций или виртуальные таблицы объектов.
Как защититься от Переполнение кучи?
Защита от Переполнение кучи обычно сочетает технические меры и операционные практики, как описано в определении выше.
Какие есть другие названия Переполнение кучи?
Распространённые альтернативные названия: Heap buffer overflow.