Use After Free

IT 위키
Use After Free

특정 함수가 메모리에서 해제된 뒤 다시 호출되는 버그가 있을 때 발생하는 취약점

  • 프로그램 구조상의 에러로 해제된 메모리를 참조하려고 하면 오류가 발생한다. 일반적으론 크래쉬와 함께 종료되어버리지만 이 종료되는 순간에 악성코드(셸코드)를 할당하여 Exploit을 만들 수 있다.
  • 메모리가 해제된 순간에 그 빈 메모리 공간에 셸코드를 할당한다.
    • LFH(Low Flagmentation Heap) 속성을 이용하여 빈 공간과 정확히 일치하는 셸코드를 할당시킨다.
    • 힙 스프레이를 이용한다.
  • 실제 마이크로소프트 익스플로러에서 발생한 유명 사례