CyberGlossary

Уязвимости

Использование после освобождения

Также известно как: UAF

Определение

Ошибка безопасности памяти, при которой программа продолжает использовать память после её освобождения, часто позволяя атакующему управлять состоянием объектов и перехватывать выполнение.

Use-After-Free (UAF) — это ситуация, когда указатель продолжает ссылаться на объект после того, как free()/delete освободил память. Если атакующий добивается, чтобы та же область была повторно выделена под другой объект, висячий указатель становится идеальной type confusion для перезаписи указателей виртуальных функций, адресов колбэков или важного состояния. UAF доминируют в эксплуатации браузеров и ядер (CWE-416). Защита: дисциплинированные модели владения (RAII, smart pointers), языки с GC или memory-safe, усиленные аллокаторы (карантин, изолированные пулы, GWP-ASan) и тестирование с KASAN/Valgrind. Браузеры также используют защиты типа MiraclePtr и PartitionAlloc.

Примеры

  • CVE-2018-8174 (движок VBScript): UAF, эксплуатируемый APT-группами.
  • CVE-2022-0609 (Chrome animation): UAF, использованный как 0-day.

Связанные термины