Use After Free
기본 정보
이 취약점은 프로그램이 객체를 위해 힙에 일부 공간을 저장하고, 거기에 일부 정보를 작성한 후 더 이상 필요하지 않다고 판단하여 해제하고 다시 액세스할 때 발생합니다.
문제는 해제된 메모리에 액세스하는 것이 불법이 아니라는 것입니다 (오류가 발생하지 않을 것입니다). 따라서 프로그램(또는 공격자)이 해제된 메모리를 할당하고 임의의 데이터를 저장할 수 있다면, 해제된 메모리가 초기 포인터에서 액세스될 때 해당 데이터가 덮어씌워질 수 있어 원래 저장된 데이터의 민감성에 따라 취약점이 발생할 것입니다 (호출될 함수의 포인터였다면, 공격자가 제어할 수 있을 것입니다).
기타 참고 및 예제
ARM64. Use after free: 사용자를 생성하고 해제한 다음, 이전 것에서 사용자->비밀번호의 위치를 덮어쓰는 동일한 청크를 재사용합니다. 사용자를 재사용하여 비밀번호 확인을 우회합니다.
Last updated