Уязвимости
Переполнение кучи
Также известно как: Heap buffer overflow
Определение
Переполнение буфера в динамически выделенной памяти, часто повреждающее метаданные аллокатора, указатели функций или виртуальные таблицы объектов.
Примеры
- CVE-2018-4407: переполнение кучи в TCP-стеке ядра XNU.
- Многочисленные переполнения кучи в JS-движке Chrome, эксплуатировавшиеся на Pwn2Own.
Связанные термины
Переполнение буфера
Ошибка безопасности памяти, при которой программа пишет за концом выделенного буфера, повреждая соседнюю память и часто открывая возможность выполнения кода.
Уязвимость переполнения стека
Переполнение буфера, происходящее на стеке программы, обычно затирающее сохранённый адрес возврата или локальные указатели, чтобы перенаправить выполнение.
Повреждение памяти
Обобщающий термин для уязвимостей, при которых программа пишет за пределы предполагаемой памяти, нарушая типовую безопасность, поток управления или целостность данных.
Использование после освобождения
Ошибка безопасности памяти, при которой программа продолжает использовать память после её освобождения, часто позволяя атакующему управлять состоянием объектов и перехватывать выполнение.
Двойное освобождение
Ошибка безопасности памяти, при которой один и тот же чанк кучи освобождается дважды, повреждая метаданные аллокатора и часто открывая возможность выполнения произвольного кода.
Эксплойт
Код, данные или метод, использующий уязвимость для вызова непредусмотренного поведения — выполнения кода, повышения привилегий или раскрытия информации.