보안/시스템 보안

[Double Free Bug]

kykyky 2025. 2. 13. 16:02

중복으로 연결된 청크를 재할당하면,

그 청크는 할당된 청크이면서, 동시에 해제된 청크임

할당된 청크에서 데이터를 저장하는 부분 = 해제된 청크에서 fd와 bk 값 있는 부분

-> 할당된 청크에 임의의 값을 write함으로써 해제된 청크의 fd와 bk를 조작할 수 있음

-> free list에 임의 주소에 있는 chunk를 추가할 수 있음

 

다만 다시 free하기 위해선 mitigation 우회를 위해 tcache에 있는 chunk의 key field를 조작해야 함