malloc: Verify size of top chunk.
commit30a17d8c95fbfb15c52d1115803b63aaa73a285c
authorPochang Chen <johnchen902@gmail.com>
Thu, 16 Aug 2018 19:24:24 +0000 (16 15:24 -0400)
committerDJ Delorie <dj@delorie.com>
Thu, 16 Aug 2018 19:24:24 +0000 (16 15:24 -0400)
tree9cc656df2264773490117fda7628fd9abf4dd943
parent34f86d61687457aa57d40cf3c230ca8404d40e45
malloc: Verify size of top chunk.

The House of Force is a well-known technique to exploit heap
overflow. In essence, this exploit takes three steps:
1. Overwrite the size of top chunk with very large value (e.g. -1).
2. Request x bytes from top chunk. As the size of top chunk
   is corrupted, x can be arbitrarily large and top chunk will
   still be offset by x.
3. The next allocation from top chunk will thus be controllable.

If we verify the size of top chunk at step 2, we can stop such attack.
ChangeLog
malloc/malloc.c