
Exploit pour CVE-2018-4233, un bug d'optimisation JIT de WebKit utilisé lors du Pwn2Own 2018
Exploit pour CVE-2018-4233, un bug dans le compilateur JIT de WebKit. Testé sur Safari 11.0.3 sur macOS 10.13.3.
Pour plus de détails, voir https://saelo.github.io/presentations/blackhat_us_18_attacking_client_side_jit_compilers.pdf
L'exploit obtient une lecture/écriture arbitraire en mémoire en construisant les primitives addrof et fakeobj, puis en simulant un tableau typé comme décrit dans http://www.phrack.org/papers/attacking_javascript_engines.html. Ensuite, il localise la page JIT et y écrit le shellcode stage1. Celui-ci écrit à son tour un .dylib (contenu dans stage2.js) sur le disque et le charge dans le processus de rendu pour effectuer une évasion du sandbox. L'étape 2 utilise une vulnérabilité distincte pour sortir du sandbox de Safari et sera publiée ultérieurement.