Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • 아래의 malloc.c 코드에 의해 취약성이 발생합니다.
    • unsorted bin에 등록된 unsorted chunk의 bk값을 변경하여 victim의 값을 변경할 수 있습니다.
    • 변경된 victim의 bk영역에 저장된 값을 bck에 저장합니다.
    • 이로 인해 변경된 unsorted chunk의 bk값 + 0x10 영역에 main_arena.bins[0]의 주소값을 에 저장된 값을 저장할 수 있습니다.(line 3511)
Code Block
languagecpp
firstline3501
titlemalloc.c
linenumberstrue
  for (;; )
    {
      int iters = 0;
      while ((victim = unsorted_chunks (av)->bk) != unsorted_chunks (av))
        {
          bck = victim->bk;
			...

          /* remove from unsorted list */
          unsorted_chunks (av)->bk = bck;
          bck->fd = unsorted_chunks (av);

			...
		}
Info
titleunsorted_chunks (av)

unsorted_chunks() 함수는 bin[0] 의 주소를 에 저장된 값을 리턴 합니다.

Example

Files

Panel

...