### [CVE-2019-9791](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-9791) ![](https://img.shields.io/static/v1?label=Product&message=Firefox%20ESR&color=blue) ![](https://img.shields.io/static/v1?label=Product&message=Firefox&color=blue) ![](https://img.shields.io/static/v1?label=Product&message=Thunderbird&color=blue) ![](https://img.shields.io/static/v1?label=Version&message=%3C%2060.6%20&color=brighgreen) ![](https://img.shields.io/static/v1?label=Version&message=%3C%2066%20&color=brighgreen) ![](https://img.shields.io/static/v1?label=Vulnerability&message=Type%20inference%20is%20incorrect%20for%20constructors%20entered%20through%20on-stack%20replacement%20with%20IonMonkey&color=brighgreen) ### Description The type inference system allows the compilation of functions that can cause type confusions between arbitrary objects when compiled through the IonMonkey just-in-time (JIT) compiler and when the constructor function is entered through on-stack replacement (OSR). This allows for possible arbitrary reading and writing of objects during an exploitable crash. This vulnerability affects Thunderbird < 60.6, Firefox ESR < 60.6, and Firefox < 66. ### POC #### Reference - https://bugzilla.mozilla.org/show_bug.cgi?id=1530958 #### Github - https://github.com/RUB-SysSec/JIT-Picker - https://github.com/Sp0pielar/CVE-2019-9791 - https://github.com/ZihanYe/web-browser-vulnerabilities - https://github.com/googleprojectzero/fuzzilli - https://github.com/tunz/js-vuln-db - https://github.com/ulexec/Exploits - https://github.com/zhangjiahui-buaa/MasterThesis