Saturday, 18 January 2020

Firefox Spidermonkey JS Engine Exploitation


In this paper, I present a set of techniques that enable command execution within the Spidermonkey JS Engine given a relative read/write (rw) bug. A relative rw bug is also known as an out of bounds (OOB) bug. I will discuss how to convert a relative rw primitive into an arbitrary rw primitive by overwriting the backing store pointer of a JavaScript typed array. From an arbitrary rw primitive I gain command execution by overwriting an entry in the Global Offset Table (GOT) with a pointer to the system libc call. Finally, I demonstrate how to determine the GOT offsets by implementing an ELF-parser within the JavaScript exploit code, that parses the in-memory Spidermonkey ELF image.

Firefox Spidermonkey JS Engine Exploitation.PDF

Exploiting the Lorex 2K Indoor Wifi at Pwn2Own Ireland

Introduction In October InfoSect participated in Pwn2Own Ireland 2024 and successfully exploited the Sonos Era 300 smart speaker and Lor...