AVR LIBC House of Spirit
In this
paper, I introduce the reader to a heap metadata corruption against the latest
version of avr-libc. This allocator is used in embedded systems, Arduino, and
the Internet of Things (IoT). In the House of Spirit, an attacker passes a
pointer to a fake chunk header to the free API. This chunk can be of almost
arbitrary size. The allocator will subsequently insert this fake chunk into the
global freelist. The next malloc of the appropriate size will return the fake
chunk which may overlap data that may be of benefit to the attacker.
AVR LIBC House of Spirit.PDF
AVR LIBC House of Spirit.PDF